I have a model, Vendor, which belongs_to :account, :visiting_address. (1..1 for both) Now, to 'prevent redundancy'/inconsistencies, the Vendor model doesn't have a name attribute, but instead stores it's name in account.name. (Should probably be the other way around, but that's messier) My controller goes something like this: @vendor = Vendor.new(:name => whatever) While vendor has the following methods: def initialize(*args) # param look reasonable, btw? seems to be working atm, but.. super self.account ||= Account.new self.visiting_address ||= Address.new end def name=(name) self.account ||= Account.new account.name = name end Not the best way to go around this, I'm sure...? Suggestions?
on 2006-05-23 13:36