ruby-on-rails - Rails - 在方法内部引用当前模型实例的正确方法?

标签 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 称为 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/

相关文章:

ruby-on-rails - 在 Rails 中同时发出 http 请求

ruby-on-rails - 如何将 rails 2.3.10 更新到 3.x

javascript - 是否可以在 Vue.js 中嵌套方法以便对相关方法进行分组?

javascript - 根据 rails 4,bootstrap 3 中的类别 id 更改下拉菜单的文本

ruby - rails 中 link_to 描述中的条件

ruby - 循环遍历数组,同时将数据添加到字符串并最终返回它,这是一种更快的方法吗?

javascript - 使用 WebDriver(HtmlUnit、Ruby 绑定(bind))时是否可以忽略 JavaScript 异常

java - 你能在另一个类的方法中调用变量吗?

python - 使用类作为另一个类的方法的装饰器

ruby-on-rails - Ruby on Rails - 下拉菜单