所以我有一個應用程序與2個不同的模型,評論和回覆,其中每一個你可以同意或不同意,所以我有一個稱爲情感多態模型。這是我對這些代碼:多態關係和計數器緩存
class Comment < ActiveRecord::Base
belongs_to :user
has_many :replies
has_many :emotions, :as => :emotionable
end
class Reply < ActiveRecord::Base
belongs_to :user
belongs_to :comment
has_many :emotions, :as => :emotionable
end
class Emotion < ActiveRecord::Base
belongs_to :emotionable, :polymorphic => :true
end
所以這一切工作正常,但我將需要添加計數器緩存都評論和回覆,以獲得規模的同意和不同意對每個目的。在所有的文檔中,它都有使用正常多態關聯執行計數器緩存的示例,而不是一個具有額外條件的示例。作爲參考,由架構情緒看起來是這樣的:
create_table "emotions", :force => true do |t|
t.integer "user_id"
t.string "emotion"
t.integer "emotionable_id"
t.string "emotionable_type"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
TL:DR - 我需要能夠調用@ commet.agrees_count,@ comment.disagrees_count,@ reply.agrees_count和@ reply.disagrees_count上通過計數器緩存進行多態關聯。所以評論和回覆將需要2個計數器緩存。
它仍然不適合我 – kamal 2015-10-20 16:47:30