首页 文章

使用JS模板作为Rails部分

提问于
浏览
0

我有一个rails 4应用程序,我有一些Javascript生成一个.jst.ejs模板,看起来像:

<!--name.jst.ejs which is in assets/javascripts/templates-->
<input type="text" name="store[name]" placeholder="Store Name" />

然后我有一个rails部分(在我的views目录中称为_name.html.erb),它看起来像:

<input type='text' name="store[name]" value="<%= @store.name%>" />

我要做的是保持这个干,只需要使用一个ejs文件(而不是基本上有一个重复的.ejs和.erb文件) .

有办法:

  • 将一个ejs文件作为rails部分调用:例如: <%= render "name" %> (它呈现name.jst.ejs文件?

  • 另外,因为这两个文件有些不同,有没有办法区分代码,如果它被渲染为ejs vs erb?例如,类似于:

<input type='text' name="store[name]" <% if erb %> value="<%= @store.name %>" <% else %> placeholder="Store Name" <% end %> />

1 回答

  • 1
    • 尝试类似:

    <%= render "name.jst.ejs", :formats => [:erb], isErb: true %>

    • 然后在partial中,检查isErb是否存在

相关问题