我有一个视图,它试图将带有以下变量的链接呈现为文本:
<ul data-role="listview" data-inset="true" data-filter="true" data-filter-placeholder="Search ideas...">
<% @ideas.each do |idea| %>
<li>
<%= link_to(idea.name + " for " + idea.relationship.name, idea_path(idea) ) %>
</li>
<% end %>
</ul>
值 idea.name(从 PG SQL 检索)中有一个单引号。单击链接时,这会导致 javascript 问题:
Uncaught SyntaxError: Unexpected identifier jquery-1.7.1.min.js:2
e.extend.globalEval jquery-1.7.1.min.js:2
e.extend.globalEval jquery-1.7.1.min.js:2
bp jquery-1.7.1.min.js:2
e.extend.each jquery-1.7.1.min.js:2
f.fn.extend.domManip jquery-1.7.1.min.js:4
f.fn.extend.append jquery-1.7.1.min.js:3
f.each.f.fn.(anonymous function) jquery-1.7.1.min.js:4
a.mobile.loadPage.a.mobile.allowCrossDomainPages.l.isSameDomain.a.ajax.success jquery.mobile-1.1.0.min.js:58
f.Callbacks.n jquery-1.7.1.min.js:2
f.Callbacks.o.fireWith jquery-1.7.1.min.js:2
w jquery-1.7.1.min.js:4
f.support.ajax.f.ajaxTransport.send.d
我尝试使用escape_javascript
which 不能提供正确的结果(\
在单引号前面放一个然后在浏览器中呈现的链接仍然会导致错误。
我正在使用 Rails 3.1、jQuery Mobile 1.1.0 和 jQuery 1.7.1。任何建议表示赞赏。
更新:这是客户端中呈现的响应的样子:
<ul data-role="listview" data-inset="true" data-filter="false">
<li><a href="/ideas/34">toms shoes</a></li>
<li><a href="/ideas/32">Toms shoes</a></li>
<li><a href="/ideas/35">Remote controlled boat</a></li>
<li><a href="/ideas/36">Toms Shoes</a></li>
<li><a href="/ideas/33">Tom's shoes</a></li>
</ul>
这是最后一个有问题的项目(/ideas/33)。