Rails中每个视图的JavaScript文件 [英] JavaScript file per view in Rails

查看:128
本文介绍了Rails中每个视图的JavaScript文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据'不引人注目的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.

我应该:


  1. 只需将所有应用程序javascript输入Application.js文件并使用布局页面加载它?这是一个简单的方法,但我最终会得到一个膨胀的Application.js。有些用户可能只想访问几页,但是这整个文件都会预先加载,这不好。

  2. 或者我应该为每个视图创建一个单独的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆