1

请帮我找出问题

错误:语法错误,无法识别的表达式:#save_property_#{result.id} throw new Error("语法错误,无法识别的表达式:" msg );

主页.js:

$(".save_prop").click(function(){
    $('#save_property_#{result.id}').slideToggle();
    return false;
});

视图.html.erb

<div id="save_property_<%= result.id %>" style="background : #ececef; width :500px; height:100px; display:none;">
<% if (user_signed_in? || current_twitter_user || current_fb_user) %>
    property saved
<% else %>
    <%= link_to "Sign in  /", user_session_path %>
    <%= link_to "Sign Up", new_user_registration_path %>
    to save the property
<% end %>
</div>
4

3 回答 3

0

代替

$('#save_property_#{result.id}').slideToggle();

$('#save_property_<%=result.id%>').slideToggle();

并将您的文件名从 home.js 更改为 home.js.erb

于 2012-12-27T06:10:06.070 回答
0

密钥在您的文件名中 -home.js 它不是 erb 或任何其他 rails 模板文件。它是一个独立的 JavaScript 文件,它不知道 rails 语法或任何后端对象。它在客户端编译,服务器“按原样”将其提供给浏览器

您必须将该脚本放在erb文件中才能像这样工作。

于 2012-12-27T07:33:56.110 回答
-1
 $('#save_property_result.id').slideToggle();

这帮助我解决了问题

于 2013-03-05T03:59:27.753 回答