我的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>
如何在ruby代码周围包装link_to_function?
答案 0 :(得分:0)
<p><%= truncate(User.find(comment.user_id).username, length: 13) %> commented on <%= truncate(step.name, length: 20) %>: "<%=truncate(comment.body)%>"
在您使用的上述代码中,为什么最后一部分&lt;%= truncate(comment.body)%&gt;被双引号括起来。我尝试使用下面给出的示例代码。
<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>
我认为错误将来自您在顶部提到的代码中给出的双引号。
答案 1 :(得分:0)
我摆脱了link_to_function,最后只是在用户点击li元素时调用goToStepComment函数。