我有一个 Rails 4 应用程序,其中有一些 Javascript 可以生成一个 .jst.ejs 模板,如下所示:
<!--name.jst.ejs which is in assets/javascripts/templates-->
<input type="text" name="store[name]" placeholder="Store Name" />
然后我有一个 Rails 部分(在我的 View 目录中名为 _name.html.erb),如下所示:
<input type='text' name="store[name]" value="<%= @store.name%>" />
我想做的是保持这个干燥,并且只需要使用一个 ejs 文件(而不是基本上重复的 .ejs 和 .erb 文件)。
有没有办法:
- 将 ejs 文件作为 Rails 部分调用:例如:
<%= render "name" %>
(它呈现 name.jst.ejs 文件? - 另外,由于这两个文件有些不同,如果将代码渲染为 ejs 和 erb,是否有办法区分代码?例如,类似:
<input type='text' name="store[name]" <% if erb %> value="<%= @store.name %>" <% else %> placeholder="Store Name" <% end %> />
最佳答案
尝试如下:
<%= render "name.jst.ejs", :formats => [:erb], isErb: true %>
- 然后在部分中检查 isErb 是否存在
关于javascript - 使用 JS 模板作为 Rails 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23857227/