Rails中每个视图的JavaScript文件 [英] JavaScript file per view in Rails
问题描述
根据'不引人注目的JavaScript'建议,我想将我的JavaScript逻辑分离为
单独的文件。但是我不知道如何组织它们。
As per 'unobtrusive JavaScript' recommendations I want to separate my JavaScript logic into
separate files. However I don't know how to organize them.
我应该:
- 只需将所有应用程序javascript输入Application.js文件并使用布局页面加载它?这是一个简单的方法,但我最终会得到一个膨胀的Application.js。有些用户可能只想访问几页,但是这整个文件都会预先加载,这不好。
- 或者我应该为每个视图创建一个单独的javaScript文件并单独加载它们?这会产生一系列问题。如何将每个js文件链接到相应的视图?
谢谢。
推荐答案
每次都在application.js中加载主JavaScript。现在创建满足不同需求的文件。创建一个form.js文件,一个myfancypart.js文件等。不要在application.html.erb布局中加载它们。在需要时动态加载它们:
Load the main JavaScript in application.js every time. Now create files for different needs. Create a form.js file, a myfancypart.js file etc. Don't load them in the application.html.erb layout. Load them dynamically when you need them:
application.html.erb:
application.html.erb:
<%= javascript_include_tag "application" %>
<%= yield :javascript_includes %>
view.html.erb的顶部:
top of your view.html.erb:
<% content_for :javascript_includes do %>
<%= javascript_include_tag "forms.js" %>
<% end %>
content_for块中的所有内容都将以yield:javascript_includes加载。
Everything in the content_for block will be loaded at yield :javascript_includes.
这篇关于Rails中每个视图的JavaScript文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!