Rails:自动包含动作/控制器特定的javascript文件?

Raz*_*orm 3 model-view-controller ruby-on-rails erb

我是rails开发的初学者,并从cakephp转移.

在cakephp中,您可以在布局中自动包含任何与控制器或操作命名相同的javascript文件.

例如www.website.com/post/add

post.js和post/add.js都会自动加载(如果存在).

有没有办法在rails中执行此操作?我尝试做谷歌,但不知道搜索什么,并没有出现太多.

(与css相同)

spa*_*ovv 7

我不知道rails中的这种功能,但您可以在布局中执行此操作:

javascript_include_tag "#{controller.controller_name}"
javascript_include_tag "#{controller.action_name}"
Run Code Online (Sandbox Code Playgroud)

它不会检查文件是否存在,因此您可以进一步创建应用程序帮助程序,并在那里移动js逻辑,包括并检查文件是否存在:

def include_controller_js
 javascript_include_tag "#{controller.controller_name}" if File.exists?("#{Rails.root}/public/javascripts/#{controller_name}.js")
end
Run Code Online (Sandbox Code Playgroud)

但是由于rails 3.1存在一个带有application.js清单文件的资产管道,所以也许你想了解更多关于它的信息.