0

我的 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?

4

2 回答 2

0
<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>

我认为错误是由您在顶部提到的代码中给出的双引号引起的。

于 2013-11-19T17:29:30.763 回答
0

当用户单击 li 元素时,我摆脱了 link_to_function 并最终只调用了函数 goToStepComment 。

于 2013-11-19T18:07:40.467 回答