【问题标题】:Is it possible to have a js.erb partial in rails 3.0?是否可以在 rails 3.0 中有一个 js.erb 部分?
【发布时间】:2012-02-19 02:03:45
【问题描述】:
如果可能,我如何从另一个 js.erb 文件运行它?
尽量保持干燥!
编辑:
说明:我在 search/index.js.erb 中有一个 js.erb 例程。我想在 location/index.js.erb 中使用相同的例程。因此我想知道是否可以制作部分包含 js.erb 代码,这样我就不必将例程从第一个 index.js.erb 文件复制到另一个文件。
【问题讨论】:
标签:
javascript
ruby-on-rails
ajax
ruby-on-rails-3
【解决方案1】:
是的。你可以有一个共同的部分(比如在一个文件夹中:app/views/partials)并在你的*.js.erb文件中使用那个部分的路径,就像<%= render :partial => path_to_partial, :locals => { ....} %>
如果你想从部分中提取 html 字符串,你也可以使用
render_to_string :partial => path_to_partial
【解决方案2】:
确保您的渲染文件以下划线开头(即:
如果你打算
<%= render :partial => 'myroutine.js.erb', :locals => { ....} %>
该文件应命名为 _myroutine.js.erb)