将Acts-as-taggable-on限制为最大数量

时间:2013-11-23 17:17:01

标签: ruby-on-rails tags

我正在使用这个宝石 https://github.com/mbleigh/acts-as-taggable-on

查看:

  <% tag_cloud Cast.tag_counts, %w[s m l] do |tag, css_class| %>
  <%= link_to tag.name, tag_path(tag.name), class: css_class %>
<% end %>

控制器:

if params[:tag]
  @casts = Cast.tagged_with(params[:tag])
else
  @casts = Cast.all
end

我只想限制前20个标签。

由于

1 个答案:

答案 0 :(得分:0)

您可以在控制器中执行以下操作:

@casts = Cast.tagged_with(params[:tag]).order('DESC').limit(20)

看看这里,如果您需要在整个应用程序中使用它,您可以在模型中创建一些可以在助手中调用的内容:

http://guides.rubyonrails.org/active_record_querying.html#ordering

所以在你的模型中:

  def self.newest
  Model.order('created_at DESC').limit(5).all
  end

在你的帮助电话中:

def newest
 Model.newest
end

然后您可以在任何地方使用它:

<% newest.each do |new| %>
<%= new.column %>

我的提示总是首先在控制台中玩这个,你也会学得更快:)