0

Michael Hartl による Ruby on Rails チュートリアルに取り組んでいます。リスト 9.19では、彼は signed_in_user というプライベート メソッドを定義していますが、コードの先頭でそれを呼び出すときは、次の行を使用しています。

before_filter :signed_in_user, only: [:edit, :update]

signed_in_user を呼び出すときにコロンを追加するのはなぜですか?

4

2 に答える 2

1

signed_in_user実際にはその行で呼び出されていません。呼び出されているbefore_filterメソッドは、Rails メソッドである です。:signed_in_userはそのメソッドへの引数であり、それはメソッドが取る種類の引数です。実行時に、他の引数で指定されたコントローラー アクション (または、既定では、このコントローラー内のすべてのアクション) の前に呼び出されるメソッドを指定するシンボルです。 )。

于 2012-09-21T15:00:21.573 に答える
0

Object.sendは最初のパラメーターとしてシンボルを受け取るためです。

したがってObject.send、メソッドを呼び出すために使用する場合は、シンボルが必要です。

于 2012-09-21T15:04:23.027 に答える