此代码适用于咖啡脚本中的rails app
$(".batch").empty().append("<%= escape_javascript('<option>App</option>').html_safe %>")
但是当我在代码下面运行时会出现错误
$(".batch").empty().append("<%= escape_javascript('<option value="<%= batch.id %>"><%= batch.rkbatchno.titleize %></option>').html_safe %>")
运行应用时遇到的错误
SyntaxError - 未终止的字符串符合文件结尾
语法错误,意外的输入结束,期待')'
在文件
中update_batches.js.coffee:6:in`'
答案 0 :(得分:2)
你需要在append函数中转义双引号并在ERB中使用字符串插值:
$(".batch").empty().append("<%= escape_javascript('<option value=\"#{batch.id}\">#{batch.rkbatchno.titleize}</option>').html_safe %>")
答案 1 :(得分:0)
您不需要嵌入html,因此您可以尝试这样做:
<% @batches.each do |client| %>
$(".batch").append("<option value='<%= j batch.id %>'><%= j batch.rkbatchno.titleize %></option>")
<% end %>
修改:我根据您的意见更改了答案。如果您只想迭代@batches
来填充您的选项(从我对您的问题的理解),则您不需要另外的部分