Rails - 在方法中引用当前模型实例的正确方法?

时间:2012-04-17 00:48:36

标签: ruby-on-rails ruby methods model instance

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

1 个答案:

答案 0 :(得分:8)

  

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

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

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

def attribute_name
  @the_value
end