How to use one partial in different contexts
===

i am new to rails and try to do the following:

I would like, because i use Bootstrap, to have a partial for a input field, with it's label and a little icon i called symbol in this case. <br /><br />
Here is my view: <br />
     
    <%= 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 %>

<br />
Here a subpartial for normal input fields:<br />

    <%= 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 %>
(there is also a subpartial for password fields, basicly exchanging function.text_field with function.input_field) <br />
And here is the input_field which is rendered: 

    <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>

So my question is: how can i solve this Problem in a nice and easy way (this things happend while refactoring and it got even worse then better) and how can i make it work, because by now something like this happens: http://pastebin.com/bNsgT9AR so yield puts with each content_for the content and the content before into the place (except the last one)

It would be great to hear nice solutions from you, there has to be a so much nicer way as almost always in Rails.

Greetings form Germany ;)