我是 Rails 新手,并尝试执行以下操作:
我想,因为我使用 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>
所以我的问题是:我怎样才能以一种简单的方式解决这个问题(这件事在重构时发生了,而且变得更糟然后更好)以及我怎样才能让它工作,因为现在发生了这样的事情:http:/ /pastebin.com/bNsgT9AR所以 yield 将每个 content_for 内容和之前的内容放入该位置(最后一个除外)
很高兴听到你的好解决方案,必须有一个更好的方法,就像在 Rails 中几乎总是一样。
来自德国的问候;)