Michael Hartl による Ruby on Rails チュートリアルに取り組んでいます。リスト 9.19では、彼は signed_in_user というプライベート メソッドを定義していますが、コードの先頭でそれを呼び出すときは、次の行を使用しています。
before_filter :signed_in_user, only: [:edit, :update]
signed_in_user を呼び出すときにコロンを追加するのはなぜですか?
Michael Hartl による Ruby on Rails チュートリアルに取り組んでいます。リスト 9.19では、彼は signed_in_user というプライベート メソッドを定義していますが、コードの先頭でそれを呼び出すときは、次の行を使用しています。
before_filter :signed_in_user, only: [:edit, :update]
signed_in_user を呼び出すときにコロンを追加するのはなぜですか?
signed_in_user
実際にはその行で呼び出されていません。呼び出されているbefore_filter
メソッドは、Rails メソッドである です。:signed_in_user
はそのメソッドへの引数であり、それはメソッドが取る種類の引数です。実行時に、他の引数で指定されたコントローラー アクション (または、既定では、このコントローラー内のすべてのアクション) の前に呼び出されるメソッドを指定するシンボルです。 )。
Object.sendは最初のパラメーターとしてシンボルを受け取るためです。
したがってObject.send
、メソッドを呼び出すために使用する場合は、シンボルが必要です。