喂,
我希望能够把我的所有网页都放到一起。我的application
布局中的脚本,并为适当的页面加载每个脚本。
我遇到了这个[问题] [1],我认为我可以把脚本放在局部内部并按照上述问题中指出的方式进行,但是我试图找到最好的scripts
的方式。
会是这样的:
yield :scripts if condition
或
unless condition
content_for scripts do
end
end
或任何其他 最佳'方式?
注意:每个页面都有自己的脚本,并以相同的页面名称保存。
答案 0 :(得分:1)
<强>解决强>
我依赖@damien的建议,在他提供的link评论中提出这样的建议:
在我的助手中:
def javascript_exists?(script)
script = "#{Rails.root}/app/assets/javascripts/#{[params[:controller], params[:action]].join('_')}.js"
File.exists?(script) || File.exists?("#{script}.coffee")
end
在我的应用程序布局中:
<%= javascript_include_tag [params[:controller], params[:action]].join('_'), :media => "all" if javascript_exists?([params[:controller], params[:action]].join('_')) %>
因此,对于每个控制器以及控制器中的每个操作,如果存在,则包含相应的 .js 文件。