我正在嘗試使用RoR創建以下基本結構。關鍵是所有的用戶都可以鏈接到學校和專業。用戶將根據他們的學校和專業撰寫文章。鏈接不是唯一的:許多用戶可以在許多學校中的一個,也可以是許多專業之一。但是,每個用戶不能在一個以上的學校,並且不能在一個以上的專業。最後,我想能夠顯示基於以下職位/過濾器的文章:兩個鏈接模型+用戶模型?
- 所有用戶在都主要X,並在學校ÿ
- 在學校Ÿ所有專業
- 所有學校與主要X
我已經做了一些研究,不知道是否有任何這是正確的... (仍在學習)我應該用比下面HAS_MANY has_and_belongs_to_many?
表
major_schools #(linking the two models below)
模式
class School < ActiveRecord::Base
has_many :major_schools
has_many :majors, :through => :major_schools
end
class Major < ActiveRecord::Base
has_many :major_schools
has_many :schools, :through => major_schools
end
@school.majors #now gives a list of all the majors this school has
@major.schools #still gives a list of all schools that have this major
我需要做的是還包括與上述兩個用戶模型什麼:
class User < ActiveRecord::Base
has_and_belongs_to_many :major_schools
end
而且我相當卡住...怎麼樣我可以將用戶模型數據提交給上述模型嗎?
專業可以成爲不止一個學校的一部分?這看起來不正確。 – Shane
謝恩,是的 - 例如,「網頁設計」專業或「歷史」專業或「時尚」專業或「廣告和營銷」專業 - 他們不是學校專用 – Caroline