如何从模型内部访问属性 rails
how to access properties from inside a model rails
所以我有一个名为 item 的模型,其中有一列名为 price。我假设列将作为实例变量存储在模型中,但是方法
def price
@price
end
returns 没什么。所以我的问题是如何从模型内部获取价格?
额外信息
我这样做的原因是商品有时有特价,所以我想要一种方法 price 检查特价并在特价活动时更改价格,如果没有则不理会它,例如
def price
check_for_special
@price
end
ActiveRecord 自动生成与数据库字段关联的 setter 和 getter 方法。 price
将是同名字段的 getter 方法。
通过添加 price
方法,您已经覆盖了 ActiveRecord 创建的方法。当您覆盖现有方法时,您可以通过调用 super
来访问原始方法。所以你可以这样做:
def price
check_for_special
super
end
但是,我不建议这样做,因为您通常需要一种方法来获取价格值,而不必总是调用其他方法。所以
def price_with_check
check_for_special
price
end
所以我有一个名为 item 的模型,其中有一列名为 price。我假设列将作为实例变量存储在模型中,但是方法
def price
@price
end
returns 没什么。所以我的问题是如何从模型内部获取价格?
额外信息 我这样做的原因是商品有时有特价,所以我想要一种方法 price 检查特价并在特价活动时更改价格,如果没有则不理会它,例如
def price
check_for_special
@price
end
ActiveRecord 自动生成与数据库字段关联的 setter 和 getter 方法。 price
将是同名字段的 getter 方法。
通过添加 price
方法,您已经覆盖了 ActiveRecord 创建的方法。当您覆盖现有方法时,您可以通过调用 super
来访问原始方法。所以你可以这样做:
def price
check_for_special
super
end
但是,我不建议这样做,因为您通常需要一种方法来获取价格值,而不必总是调用其他方法。所以
def price_with_check
check_for_special
price
end