javascript - 使用 JS 模板作为 Rails 部分

标签 javascript ruby-on-rails ruby ruby-on-rails-4 ejs

我有一个 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 文件)。

有没有办法:

  1. 将 ejs 文件作为 Rails 部分调用:例如:<%= render "name" %> (它呈现 name.jst.ejs 文件?
  2. 另外,由于这两个文件有些不同,如果将代码渲染为 ejs 和 erb,是否有办法区分代码?例如,类似:

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

最佳答案

  1. 尝试如下:

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

  2. 然后在部分中检查 isErb 是否存在

关于javascript - 使用 JS 模板作为 Rails 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23857227/

相关文章:

javascript - 无法使用 PHP JSON 在 Javascript 中以 fullcalendar 显示来自 MySQL 的事件

javascript - AngularJS — Ng 重复数组对象

ruby-on-rails - "Before Save"关联回调

ruby-on-rails - rails 、粗糙度和图像质量

ruby-on-rails - 如何搜索查询结果,以防止发出太多请求

javascript - 使用 WatiN 模拟实际的鼠标移动和单击

Javascript - 元素列表后缺少 ]

ruby-on-rails - PG::ForeignKeyViolation: 将 Rails 中的 has_and_belongs_to_many 关联更改为 has_many :through 关联后出错

javascript - 为什么要区分单行注释和多行注释?

ruby-on-rails - expect() 在 rspec/cucumber 中做了什么?