如何摆脱包装simple_form中每个输入的div?

mar*_*ion 7 ruby-on-rails ruby-on-rails-3 simple-form

这个输入:

<%= f.input :keywords, label: false, :input_html => {:class => "span8"}, :placeholder => "Park Slope, Prospect Heights, Fort Green..." %>
Run Code Online (Sandbox Code Playgroud)

产生这个:

<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>
Run Code Online (Sandbox Code Playgroud)

如何在input没有div的情况下单独生成?

谢谢.

Vir*_*ren 19

那么做这样的事情通过一个PARAMS wrapper: false这样

<%= f.input :keywords, 
            label: false,
            wrapper: false,
            input_html: { class: 'span8' }, 
            placeholder: 'Park Slope, Prospect Heights, Fort Green...' %>
Run Code Online (Sandbox Code Playgroud)

并看到它会工作

希望这有帮助


mar*_*ion 13

因此,似乎最好的方法是使用f.input_field.

Simple_Form的文档并没有完全拼写出来,但您可以在此处查看实际的API文档.

来自文档:

simple_form_for @user do |f|
  f.input_field :name
end
Run Code Online (Sandbox Code Playgroud)

将产生:

<input class="string required" id="user_name" maxlength="100"
   name="user[name]" size="100" type="text" value="Carlos" />
Run Code Online (Sandbox Code Playgroud)