0

次のように記述したコードがあります <%= f.label "*Position Title" %>

私はそれが出力されることを期待していまし*Position Titleたが、代わり*position titleに * がない場合Position Titleは大文字で表示されます。

なぜこれが起こるの*Position Titleですか?代わりにどのように取得しますか?

4

2 に答える 2

5

試す:

<%= f.label nil, "*Position Title" %>

アップデート:

ソースを掘った後: FormHelper

これを発生させるto_label_tagメソッド呼び出しmethod_name.humanize。したがって、実際にはアスタリスクが間違っているのではなく、これを引き起こしているのは人間化された方法です。

次の例は、ヒューマナイズが何をするかを明確に理解するのに役立ちます。

> "*Position".humanize                
=> "*position" 

> "1Position".humanize
=> "1position" 

> "POSITION".humanize
=> "Position" 

> "aPosition".humanize 
=> "Aposition" 
于 2013-08-06T18:00:08.900 に答える