2014-06-09 53 views
0

說我有這個基本的表單助手代碼:的Rails表單助手自舉3

<%= form_for(@user) do |f| %> 

     <%= f.label :name, 'Username' %> 
     <%= f.text_field :name %> 

     <%= f.label :email, 'Email (Optional)' %> 
     <%= f.text_field :email %> 

     <%= f.label :password %> 
     <%= f.password_field :password %> 

     <%= f.label :password_confirmation, "Confirmation" %> 
     <%= f.password_field :password_confirmation %> 

     <%= f.submit "Create my account", class: "btn btn-large btn-primary" %> 
    <% end %> 

我知道我可以通過添加:html => { :class => "class_name"}到的form_for參數更改類的整個事情,但怎麼樣,如果我想將每一對控件放在一個form-group類中,然後使標籤具有類control-label並且輸入具有類form-control?因爲這是bootstrap會同意爲我設計我的表單的唯一方式。我嘗試在標籤和文本字段周圍添加html代碼,但這是一個怪物。我想知道是否有更乾淨的方法來做到這一點。

inb4表單生成的寶石,我在這裏學習,我繼續讀了那些對軌道4和引導3仍然缺乏

回答

0

顯然,你可以做:class => "classname"作爲表單控件屬性的位紅寶石命令也是如此。比沒完沒了的嵌套div更難看。

0

使用Rails語法,在Bootstrap中設置格式的正確方法如下。乍一看似乎沒有必要,但div.form-group有助於在每對之間添加一點餘量,並且還會向您提供父級以將validation classes添加到。

.control-label通常是不必要的,但是如果您要添加這些驗證類,您還需要將它添加到標籤中,如果您還想讓它們更改顏色。 :class => 'control-label'f.label是你如何添加這些。

<%= form_for(@user) do |f| %> 
    <div class="form-group"> 
    <%= f.label :name, 'Username' %> 
    <%= f.text_field :name, :class => 'form-control' %> 
    </div> 
    <div class="form-group"> 
    <%= f.label :email, 'Email (Optional)' %> 
    <%= f.text_field :email, :class => 'form-control' %> 
    </div> 
    <div class="form-group"> 
    <%= f.label :password %> 
    <%= f.password_field :password, :class => 'form-control' %> 
    </div> 
    <div class="form-group"> 
    <%= f.label :password_confirmation, "Confirmation" %> 
    <%= f.password_field :password_confirmation, :class => 'form-control' %> 
    </div> 
    <%= f.submit "Create my account", class: "btn btn-large btn-primary" %> 
<% end %>