1

假设我有一个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是自我吗?

4

1 回答 1

8

是的。

使用属性设置方法时,参考selfas in 方法

def self.attribute_name=(value)
  @attribute_name = value
end

作为一种快捷方式,当您有一个检索但不设置对象的方法(因此是一个 getter)时,您可以省略self,例如

def attribute_name
  @the_value
end
于 2012-04-17T01:05:31.097 回答