1
用戶有很多就業機會。has_many關係中的Sil魚
您認爲如何? 這是一種有效且清晰的方式來獲取給定僱傭對象的所有兄弟姐妹(屬於同一用戶)?
self.silblings.except(self.id).each do |silbling|
puts silbling
end
產生的SQL語句如下:
SELECT * FROM `employments`
WHERE (`employments`.user_id = 49)
AND ((id != 46) AND (`employments`.user_id = 49))
named_scope :except, lambda {|id| {:conditions => ["id != ?", id]} if id}
現在,像我可以做的東西:
class Employment < ActiveRecord::Base
belongs_to :user
has_many :silblings,
:primary_key => :user_id,
:foreign_key => :user_id,
:class_name => 'Employment'
end
這可以用下面的命名範圍擴大
評論'不,你濫用XY,而使用這個XZ'非常受歡迎!
Reto
for_user看起來更乾淨,更簡單,更好。它不那麼通用,但更加明確。我想我會去做的。重複是一個無關的錯誤。我在發佈問題後不久發現了相應的錯誤報告:https://rails.lighthouseapp.com/projects/8994/tickets/2923 感謝您的輸入。 – reto 2009-10-26 10:42:54