为什么这不是将文本传递给 javascript/jquery。? @i[:error]
中肯定有一个字符串,我可以在控制台上打印它。
js.erb 文件 -
<% if @i[:error] != "" %>
<% puts "--> " + @i[:error] %>
#--> error
#Validation error(s):
#- Item Is not defined or blank. # that's the error string in @i[:error]
$(function() {
$("#error_message").attr("class", "message_error");
$('#error').text("<%= @i[:error]%>"); #Not working for @i[:error]
#$('#error').text("<%= "#{@i[:error]}"%>");#Not working for @i[:error]
#$('#error').text("Test"); #This is working
#$('#error').text("<%= "?????"%>"); #This is working
});
<% else %>
........#fine here
<% end %>
最佳答案
是的,可能是因为换行。您可以使用 escape_javascript
修复它.
Escapes carriage returns and single and double quotes for JavaScript segments.
所以:
$('#error').text("<%= escape_javascript(@i[:error]) %>");
关于Ruby - Rails - 将文本传递给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571630/