我有一个Rails 3视图(对于my_controller#show),它有很多JavaScript。
我想将JavaScript移到单独的my_show.js
文件中,然后使用Rails'javascript_include_tag
方法包含该文件。如果我将my_show.js
放在/public/javascripts
目录中,则此方法有效。但我更愿意将文件放在与其相关联的视图的同一目录中。
是否可以配置rails,以便我可以使用javascript_include_tag
将文件包含在/public/javascripts
之外?
我现在的解决方案是制作一个名为_my_show.html.haml
的部分。在这个文件中我放了我的JavaScript代码。然后我将文件包含在render
。
我想知道是否有一种首选的Rails 3方式来做我想要的事情。
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以考虑为js文件创建路由。
get '/my_controller/show_js.js' => 'my_controller#show_js'
并将您的js内容放在views/my_controller/show_js.js.erb
现在,您应该能够通过以下方式包含您的js文件:
javascript_include_tag "/my_controller/show_js.js"
答案 2 :(得分:0)
即将发布的Rails 3.1包含Sprockets gem,可提供资产管道功能,可以更灵活地放置JavaScript和其他资源。
也可以独立于Rails 3.1使用Sprockets。