私はレールに不慣れで、次のことを試みます:
Bootstrapを使用しているので、入力フィールドの部分を、この場合はシンボルと呼ばれるラベルと小さなアイコンで使用したいと思います。
これが私の見解です:
<%= form_for(@user, :class => "form-horizontal" ) do |f| %>
<fieldset>
<%= render 'shared/text_field', function: f, tag: :name, symbol: '<i class="icon-user"></i>' %>
<%= render 'shared/text_field', function: f, tag: :email, symbol: "@" %>
<%= render 'shared/password_field', function: f, tag: :password, symbol: '<i class="icon-log"></i>' %>
<%= render 'shared/password_field', function: f, tag: :password_confirmation, alt: "Passwort wiederholen", symbol: '<i class="icon-log"></i>' %>
<!-- SUBMIT -->
<%= f.submit "Anmeldung", :class => "btn btn-primary" %>
</fieldset>
<% end %>
ここでは、通常の入力フィールドのサブ部分です。
<%= render 'shared/bootstrap/input_field' %>
<% content_for :label do %>
<%= function.label tag, :class => "control-label", :for => "prependedInput" %>
<% end %>
<%content_for :symbol do %>
<%= raw(symbol) %>
<% end %>
<% content_for :field do %>
<%= function.text_field tag, :class => "input-xlarge", :id => "prependedInput", :size => "6" %>
<% end %>
(パスワードフィールドのサブ部分もあり、基本的にfunction.text_fieldをfunction.input_fieldと交換します)
そして、レンダリングされるinput_fieldは次のとおりです。
<div class="control-group">
<%= yield :label %>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><%= yield :symbol %> </span>
<%= yield :field %>
</div>
</div>
</div>
だから私の質問は:どうすればこの問題を素晴らしく簡単な方法で解決できますか(これはリファクタリング中に起こり、さらに悪化し、さらに良くなりました)、そしてどうすればそれを機能させることができますか? /pastebin.com/bNsgT9ARなので、yieldは各content_forのコンテンツと前のコンテンツをその場所に配置します(最後のものを除く)
あなたから素晴らしい解決策を聞くのは素晴らしいことです。Railsではほとんどいつものようにもっと良い方法がなければなりません。
ドイツからのご挨拶;)