跳过与simple_form关联的包装器

时间:2013-02-21 16:04:41

标签: ruby-on-rails ruby ruby-on-rails-3 simple-form

我正在使用simple_form,我想知道在处理关联选择时是否可以跳过任何包装div。

感谢的

3 个答案:

答案 0 :(得分:18)

如果您使用f.association :product之类的内容,则可以删除生成的标签和包装,如下所示:f.association :product, label: false, wrapper: false

答案 1 :(得分:8)

https://github.com/plataformatec/simple_form#stripping-away-all-wrapper-divs

  

SimpleForm还允许你去除所有div包装器   使用通常的f.input生成的字段。该   最简单的方法是使用f.input_field。

示例:

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

产地:

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

要查看实际的RDoc,请在此处查看 - http://rubydoc.info/github/plataformatec/simple_form/master/SimpleForm/FormBuilder:input_field

或......

执行类似

的操作
config.wrappers :small do |b|
  b.use :placeholder
  b.use :label_input
end

并以这种方式使用它:

# Specifying to whole form
simple_form_for @user, wrapper: :small do |f|
  f.input :name
end

https://github.com/plataformatec/simple_form#configuration

答案 2 :(得分:0)

使用collection_select代替haml:

= f.collection_select :position_id, Position.all, :id, :name, {}, { class: 'span3' }

此示例假设您有一个职位模型,并希望将span3作为一个类添加到它生成的<select>