2016-11-07 1 views
1

ルビの識別子の後にコロンを使うのはいつですか?例えばのため:これらのx:レールで呼び出された識別子は何ですか?

<%= f.input :XML, as: :file, wrapper: :vertical_file_input %> 

ここではas:を持っていますが、f.inputのために、我々は、コロンを持っていません。

x:という識別子は何ですか?コロンを置くかどうかをどうやって決めるのですか?

答えて

2

これは単なる構文糖です。

{as: :file, wrapper: :vertical_file_input} 

は、私が個人的に最初のバージョンより読みを見つけることができません

{:as=>:file, :wrapper=>:vertical_file_input} 

に等しいハッシュ、です。

したがってx:は、ちょうど:x(シンボル)をハッシュのキーとして使用します。

f.input :XML, as: :file, wrapper: :vertical_file_input 

を持つオブジェクトfに呼び出されるメソッド "入力" である:最初のパラメータとしてXMLと{=>のように:ファイル:ラッパー=>:vertical_file_input} 2番目のパラメータとして。また、次のように書くこともできます。

f.input(:XML, {as: :file, wrapper: :vertical_file_input}) 

この種のメソッド呼び出しは、Railsでは非常に一般的です。

+0

編集されたバージョンを参照してください。 –

関連する問題