我正在使用bootstrap CSS开发Rails应用程序,取决于DRY概念,这种形式可以简化吗?
<%= form_for @user , :html => {:class => "form-horizontal"} do |f| %>
<fieldset>
<legend>Sign Up</legend>
<div class="form-group">
<%= f.label :email ,:class=>"control-label" %><br />
<%= f.text_field :email, :class =>"form-control", :placeholder=>"Email" %>
</div>
<div class="form-group">
<%= f.label :password ,:class=>"control-label" %><br />
<%= f.password_field :password, :class =>"form-control", :placeholder=>"Password" %>
</div>
<div class="form-group">
<%= f.label :password_confirmation,:class=>"control-label" %><br/>
<%= f.password_field :password_confirmation , :class =>"form-control", :placeholder=>"Confirm Password" %>
</div>
<%= f.submit 'Submit', :class => 'btn btn-primary' %>
</fieldset>
<% end %>
我的意思是标记fieldset
,legend
,:class=>"control-label"
和其他标记。
答案 0 :(得分:0)
您需要的是custom form builder。基本点是封装字段装饰(在许多情况下甚至标记),以便您获得与上面代码类似的输出,如下所示:
<%= form_for @user, builder: MyFormBuilder do |f| %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.input :password_confirmation %>
<%= f.button :submit %>
<% end %>
有many tutorials on how to build your own,它非常方便,是学习更多内容的好方法。如果您需要准备好的解决方案,请查看the simple_form gem。