【发布时间】:2015-08-02 09:14:55
【问题描述】:
在我看来,我有这个:
<% node.tagged_users.each do |tagged_user| %>
<li><%= display_avatar_or_email(tagged_user) %></li>
<% end -%>
但是,我想做的是创建一个辅助方法,只要有 5 个 tagged_users,它就会显示最后 3 个的头像,然后在文本“2 more”或“2”上显示一个链接+”(根据下图)。请注意,它不应该显示被标记的用户总数,只是当前显示为头像的标记用户数与此特定节点的标记用户总数之间的差异。
所以它看起来像这样:
不确定是否重要,但display_avatar_or_email(tagged_user) 的方法如下所示:
def display_avatar_or_email(user)
link_to image_tag(user.avatar.url, size: "48x48", :class => "img-circle", title: user_name_or_email(user)), user
end
我有一个tagged_users.count的方法:
def total_tagged_users_count(node)
node.user_tags.count
end
当我将整个 node.tagged_users.each do |tagged_user| 移动到我的助手中时,它在我的视图中吐出了整个 AR 集合 - 这不是我想要的。我只想要逻辑的结果,而不是方法中的所有内容。
在帮助程序中以 Rails 方式执行此操作的最佳方法是什么?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 helpers