images
の数を表示する方法を探しています。category
があり、has_many
の関連付けで取得しました。私は、実装上counter_cache
にはほとんどなく、まだありません喜びを読んでてきた関連するオブジェクトを数える効率的な方法 - Rails 4
class Category < ActiveRecord::Base
has_many :image_categories
has_many :images, through: :image_categories
end
class ImageCategory < ActiveRecord::Base
# Holds image_id and category_id to allow multiple categories to be saved per image, as opposed to storing an array of objects in one DB column
belongs_to :image
belongs_to :category
end
class Image < ActiveRecord::Base
# Categories
has_many :image_categories, dependent: :destroy
has_many :categories, through: :image_categories
end
コントローラ
@categories = Category.all
ビュー
<% @categories.each do |c| %>
<li>
<%= link_to '#', data: { :filter => '.' + c.name.delete(' ') } do %>
<%= c.name %> (<%= #count here %>)
<% end %>
</li>
<% end %>
誰もがそれをいただければ幸い助けることができれば
ありがとう
ありがとうございました。実装方法についてのご意見はありますか?問題がまだ述べられているように、実装ではまだ成功していません – Richlewis
@Richlewis更新された答え – Alfie
を参照してください。カウント列を正しい値に初期化するには、 'reset_counters'を使用する必要があることに注意してください。 'http://apidock.com/rails/ ActiveRecord/CounterCache/reset_counters' –