假设我有一个 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
称为 self?
最佳答案
Yes.
当使用属性设置方法时,您在方法中引用self
def self.attribute_name=(value)
@attribute_name = value
end
作为一个快捷方便的方法,当你有一个检索但不设置对象的方法(所以是一个 getter)时,你可以省略 self
,例如
def attribute_name
@the_value
end
关于ruby-on-rails - Rails - 在方法内部引用当前模型实例的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10183662/