1

CodeSchools tutorial で次のコードを見つけました。

class Following < ActiveRecord::Base

   after_create :queue_new_follower_email,
      if: Proc.new {|f| f.followed_user.receive_emails? }

 end

よくわかりません 。f 変数とは何ですか? どこから来たのですか? 現在のモデルオブジェクトへの参照ですか? はいの場合、どのように推測すればよいですか?(ドキュメント/ソースコード?)

Proc ブロックの構文は知っていますが、'f' 変数がどこから来たのかわかりません。

4

1 に答える 1

2

Rails はモデルを引数として渡します。

http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.htmlを参照してください

class Firm < ActiveRecord::Base
  # Destroys the associated clients and people when the firm is destroyed
  before_destroy { |record| Person.destroy_all "firm_id = #{record.id}"   }
  before_destroy { |record| Client.destroy_all "client_of = #{record.id}" }
end
于 2013-05-26T09:52:35.547 に答える