说我有两个模型,一个属于另一个。现在,通常在填充字段时将对象分配给关联。 rails是否允许覆盖set方法,以便可以自定义关联分配?
E.g
class Person
# something about shirts
end
class Shirt
belongs_to :person
def person=(p)
self.person = Person.find_or_create_by_name(p)
end
end
然后使用类似的东西自动绑定关联,但使用字符串自动进行搜索和绑定。这可能吗?
s = Shirt.new
s.person =“测试人员”
由于
答案 0 :(得分:3)
ROR指南涵盖了您需要的association extension。
更新:
实际上,一旦你理解了你正在做的事情,压倒二传手并不是那么糟糕。但是你必须要小心,因为它会导致无限循环(如你的例子中所示)。因此,如果您使用的是Rails 3.2,则必须use super
,否则您必须使用alias_method_chain。