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