Rails包括.js文件

时间:2012-12-29 22:56:11

标签: javascript ruby-on-rails asset-pipeline

我很好奇Rails包含.js文件的方式。 在资产管道的帮助下,我对view中存储的.js文件感到好奇。 例如,如果要对like中名为PostsController的操作应用ajax调用,只需将相关的ajax代码放在posts like.js.erb中的posts视图文件夹中。然后,当用户调用操作like时,会自动触发javascript。

我的问题是

  1. 在调用操作时会自动调用名称与某些操作匹配的javascript文件吗?
  2. 如果我想在某个视图中包含一个与任何操作不对应的javascript文件,我该怎么办?只需将其包含在应用程序清单中? 更具体地说,我现在tag-autocomplete.js.erbviews/post。我是否将其移至assets文件夹并将其包含在application.css
  3. 谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 是的,虽然我不会立即看到如果您同时拥有like.js.erb和like.html.erb会发生什么。似乎选择了一个或另一个,它可能是任意的。

  2. 我通常会在脚本标记中内联javascript。如果它真的只会在那个视图中使用,那是合理的。另一方面,app.js被缓存并节省带宽以放置你可以在那里的任何东西。但是,既然你在询问涉及模板的事情,我想,缓存并不可取。对此,我说你应该尽量减少你在JS中使用模板。有时它很有意义,但要小心。

  3. (仅供参考:this是定义相关功能核心的地方。)