1
很長時間的SO閱讀器,第一次海報。我有一個項目,有一個模型has_one字段和has_many相同的字段模型。我只是希望能夠使他們分開區分。這是我提出的最優雅的方式。這在技術上叫什麼?
我想知道我應該如何口頭提及當前使用的方法,如果有更好的方法可以做到這一點,那就是Rails 4+。
這裏是我使用的代碼:
# field.rb
class Field < ActiveRecord::Base
belongs_to :user
end
# user.rb
class User < ActiveRecord::Base
has_one :primary_field, class_name: 'Field'
has_many :secondary_fields, class_name: 'Field'
end
u = User.create(name:"foo")
u.primary_field = Field.create(name:"ruby on rails")
u.secondary_fields << Field.create(name:"html/css")
u.secondary_fields << Field.create(name:"javascript")
編輯:有在我的方法錯誤,這不是技術上其中secondary_fields不正確作用域。我批准的答案解決了這個問題。
我仍然想知道這是否被稱爲特定的東西,因爲它確實看起來像這是相對經常使用。
謝謝,我沒有意識到這一點。我也想知道如果用一個class_name以多種方式調用關聯模型被稱爲特定的東西? –
不是我所知道的。我最終需要這樣的定期,我從來沒有遇到過一個特殊的術語。不過,其他人可能有一個。我幾乎不是權威來源:)。我想你可以稱之爲「過濾式關聯」,但我只是把它做了。 –
我認爲你的答案已足夠。我會接受它並編輯我的問題,看看是否有人擁有它的名字。謝謝 –