假设我有一个Post
模型,我想在保存时运行一个方法
post.rb
中的:
:before_save some_method_on_post
def some_method_on_post
# Do something here
end
我的问题是,如何在方法中引用当前实例化的Post对象?
编辑:所以要澄清假设我想这样做:
def some_method_on_post
post.some_property = foo
end
我是否将post
称为自我?
答案 0 :(得分:8)
是
使用属性设置方法时,请参考方法
中的self
def self.attribute_name=(value)
@attribute_name = value
end
作为一种快捷方便,当你有一个方法可以检索但不设置对象(所以是一个getter)时,你可以省略self
,例如
def attribute_name
@the_value
end