SyntaxError - 未终止的字符串符合文件末尾

时间:2018-05-05 11:32:05

标签: ruby-on-rails ruby coffeescript

此代码适用于咖啡脚本中的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`'

2 个答案:

答案 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来填充您的选项(从我对您的问题的理解),则您不需要另外的部分