在一个do中使用rails link_to_function

时间:2013-11-19 16:53:58

标签: ruby-on-rails link-to-function

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

2 个答案:

答案 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函数。