How do I get rid of the div that wraps every input in a simple_form?

£可爱£侵袭症+ 提交于 2019-12-21 02:21:13

问题


This input:

<%= f.input :keywords, label: false, :input_html => {:class => "span8"}, :placeholder => "Park Slope, Prospect Heights, Fort Green..." %>

Produces this:

<div class="control-group string optional">
  <div class="controls">
     <input class="string optional span8" id="search_keywords" name="search[keywords]" placeholder="Park Slope, Prospect Heights, Fort Green..." size="50" type="text" />
  </div>
</div>

How do I just generate the input alone without the divs around it?

Thanks.


回答1:


Well do something like this pass a params wrapper: false like this

<%= f.input :keywords, 
            label: false,
            wrapper: false,
            input_html: { class: 'span8' }, 
            placeholder: 'Park Slope, Prospect Heights, Fort Green...' %>

And See it would work

Hope this help




回答2:


So it seems the best way to do this is to use f.input_field.

The docs for Simple_Form don't quite spell it out, but you can view the actual API docs here.

From the docs:

simple_form_for @user do |f|
  f.input_field :name
end

Will Produce:

<input class="string required" id="user_name" maxlength="100"
   name="user[name]" size="100" type="text" value="Carlos" />



回答3:


use the regular text_field

<%= f.text_field :keywords, :class => "string optional span8", :placeholder => "Park Slope, Prospect Heights, Fort Green..." %>


来源:https://stackoverflow.com/questions/14784668/how-do-i-get-rid-of-the-div-that-wraps-every-input-in-a-simple-form

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!