繰り返さないために、特定の方法でフォーム ブロック (テキスト フィールドまたはテキスト領域) をレンダリングする関数を作成したいと思います。このような結果が必要です (Haml と twitter-bootstrap を使用):
.form-block.input-prepend
%span.add-on>
%i.icon.icon-home
= f.text_field :name, :value => @store.name, :placeholder => 'Company Name'
views/layouts/_form-block.html.haml
そのために、次のコードを挿入したファイルを作成しました。
.form-block.input-prepend
%span.add-on>
%i{ :class => "icon icon-#{icon}" }
= yield
そして、次を使用してビューでブロックを呼び出します。
- render :template => 'layouts/_form-block', :locals => { :icon => 'home' } do
= f.text_field :name, :value => @store.name, :placeholder => 'Company Name'
しかし、うまくいきません。次のエラーがあります'nil' is not an ActiveModel-compatible object that returns a valid partial path.
何か考えはありますか?これが最善の方法ですか?
前もって感謝します。