在我的應用程序中,我有類User,Video和Vote。用戶和視頻可以通過兩種不同的方式相互關聯:一對多或多對多。前者是用戶提交視頻時(一個用戶可以提交很多視頻)。後者是用戶在視頻上投票時(用戶通過投票有很多視頻,反之亦然)。這是我的代碼,它不起作用(我想 - 我可能在視圖中做錯了事)。請幫我理解正確的方法來組織這些協會:如何以兩種不同的方式定義兩個彼此相關的模型之間的ActiveRecord關係?
class User < ActiveRecord::Base
has_many :videos, :as => :submissions
has_many :votes #have tried it without this
has_many :videos, :as => :likes, :through => :votes
end
class Vote < ActiveRecord::Base
belongs_to :video
belongs_to :user
end
class Video < ActiveRecord::Base
belongs_to :user
has_many :votes #have tried it without this . . . superfluous?
has_many :users, :as => :voters, :through => :votes
end
你能擴展什麼不行嗎?是否有錯誤等? – 2009-10-06 04:28:23
當我嘗試做:video.voters <<用戶,它說:「未定義的方法'選民'爲#<視頻:0xb752b270> – 2009-10-06 04:43:49