2012-11-12 28 views
1

我使用Rails 3.2,simple_form和它的默認引導程序生成器。如何更改simple_form以使用引導前置輸入

我想在自己的佈局中使用引導程序「附加和前置」表單元素之一。如何修改簡單表單輸入以生成所需的代碼?

代碼使用
<%= f.input :price, :label => 'Price:' %>

生成的代碼

<div class="control-group string optional"> 
    <label class="string optional" for="price">Price:</label> 
    <div class="controls"> 
     <input class="string optional" id="price" type="text"> 
    </div> 
</div> 

期望的碼

<div class="control-group string optional"> 
    <label class="string optional control-label" for="price">Price:</label> 
    <div class="input-prepend"> 
     <span class="add-on">$</span> 
     <input class="string optional" id="price" type="text"> 
    </div> 
</div> 

注第e「輸入前置」類更改和「附加」跨度。

回答

8

您需要添加一個包裝。

對於預追加的代碼是這樣的:

<%= f.input :price, :wrapper => :prepend, :label => false do %> 
    <%= content_tag :span, "$", :class => "add-on" %> 
    <%= f.input_field :price %> 
    <% end %> 

更多信息,請查看本live example使用simple_form與引導的。你可以找到代碼here

希望它有幫助。

+0

謝謝,夥計。正是我所期待的。 – sevens

+1

我不得不修改'config/initializers/simple_form_bootstrap.rb',並將'input-prepend'和'input-append'更改爲'input-group'以使其工作。 – guyaloni

+1

考慮我的解決方案是用於引導2,如果你需要引導3的支持,你應該修改simple_form初始化爲@guyaloni –