我有一个具有这些属性的模型:
some_number
some_string
我想在some_string
中添加一些值,具体取决于some_number
的当前值和更新时some_number
的新值。
示例:
当前some_number
4
some_number
的新(已更新)值 5
我希望在覆盖4+5
之前将some_string
字符串放入some_number
。
我怎样才能使它有效?
答案 0 :(得分:2)
如果我需要根据更新事件I上的其他属性值修改某些属性,请执行以下操作:
class Thing < ActiveRecord::Base
before_update :modify_some_string
protected
def modify_some_string
# some actions with self.some_string and self.some_number
# and self.some_string_was and self.some_number_was
end
end
答案 1 :(得分:1)
很难说明您提出的问题,但假设您希望在some_number
结束时some_string
的当前值...
class Thing < ActiveRecord::Base
def initiaize
@numbers = []
super
end
def some_number=(value)
@numbers << value
write_attribute :some_string, @numbers.join('+')
super
end
end