假设我有一个名为 Product 的模型,其中有一个名为 brand 的字段。假设 brand 的值以 this_is_a_brand 格式存储。我可以在模型(或其他任何地方)中定义一个方法,允许我在调用 brand 之前修改它的值吗?例如,如果我调用 @product.brand,我想得到 This is a Brand,而不是 this_is_a_brand。
最佳答案
我建议使用方括号语法([]
和 []=
)而不是 read_attribute
和 write_attribute
。方括号语法更短并且 designed to wrap the protected read/write_attribute methods .
def brand
original = self[:brand]
transform(original)
end
def brand=(b)
self[:brand] = reverse_transform(b)
end
关于ruby-on-rails - Ruby on Rails - 我可以在调用之前修改属性的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/181652/