我的rails应用程序中有一个link_to_function可以正常工作,但我试着用"do"将它包装在一些ruby代码中,但它没有执行它包装的代码:
<li class="comment-list-item" id="<%=comment.id%>">
<%= link_to_function "test", "goToStepComment('#{step.id}', '#{comment.id}')" do %>
<div class="comment-list-image">
<% if User.find(comment.user_id).avatar_url != nil %>
<%= image_tag(User.find(comment.user_id).avatar_url(:thumb), :class=>"commentAvatar img-polaroid") %>
<% else %>
<%= image_tag("default_avatar.png", :class=>"commentAvatar img-polaroid") %>
<% end %>
</div>
<div class="comment-list-title">
<p><%= truncate(User.find(comment.user_id).username, length: 13) %> commented on <%= truncate(step.name, length: 20) %>: "<%=truncate(comment.body)%>"</p>
</div>
<% end %>
</li>
这被渲染为:
<li class="comment-list-item" id="40" style="display: list-item;">
<a href="#" onclick="goToStepComment('114', '40'); return false;">test</a>
</li>
如何将link_to_function封装在ruby代码中?
<p><%= truncate(User.find(comment.user_id).username, length: 13) %> commented on <%= truncate(step.name, length: 20) %>: "<%=truncate(comment.body)%>"
在您使用的上述代码中,为什么最后一部分<%=truncate(comment.body)%>用双引号括起来。我对下面给出的示例代码进行了同样的尝试。
<li class="comment-list-item" id="1">
<%= link_to_function "test", "goToStepComment('12', '1222')" do %>
<div class="comment-list-image">
<p>Something</p>
</div>
<div class="comment-list-title">
<p>FooBar</p>
</div>
<% end %>
</li>
这产生了以下给定的html内容。
<li id="1" class="comment-list-item">
<a onclick="goToStepComment('12', '1222'); return false;" href="#">test</a>
</li>
我认为这个错误可能是由你在顶部提到的代码中给出的双引号引起的。
我去掉了link_to_function,当用户单击li元素时,我只调用了函数goToStepComment。