2010-12-01 18 views
0

这条线工作正常逃生JavaScript不与link_to_function(轨)工作

 <%=link_to_function "name", "$('#thing_name').html('<p>name<p>')" %> 

这行不

 <%=link_to_function "name", "$('#thing_name').html('<%= escape_javascript(thing.name) %>')" %> 

接着,我会<%=%之内摆脱的所有内容>

 <%=link_to_function "name", "$('#thing_name').html('<%= %>')" %> 

它仍然不断抱怨一些奇怪的编译错误。

在此先感谢。

回答

0

由于开头<%=开头,您已经在ERB区块内,并且您不能使用另一个。使用string interpolation评估字符串中的Ruby代码:

<%= link_to_function "name", "$('#thing_name').html('#{escape_javascript(thing.name)}')" %> 

另外,如果由于某种原因你不想使用插值:

<%= link_to_function "name", "$('#thing_name').html('" + escape_javascript(thing.name) + "')" %> 
+0

请问上述工作答案在轨3.1.0或以上?我无法让我的rails 3.1.0上面的工作回答 – user938363 2012-01-15 02:08:57

-1

我还以为你需要逃出字符串:

<%=link_to_function "name", "$('#thing_name').html('"<%= escape_javascript(things.name) %>"')" %> 

注意周围<%= escape_javascript(things.name) %>

双引号应该工作...虽然即时通讯还是有点新的再培训局的:)