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

はい。

属性設定方法を使用する場合は、self方法のように 参照します

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

ショートカットの便宜として、オブジェクトを取得するが設定しない(つまりゲッター)メソッドがある場合はself、たとえば、 を省略できます。

def attribute_name
  @the_value
end
于 2012-04-17T01:05:31.097 に答える