自定义simple_form gem关联显示

时间:2011-11-25 21:23:27

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

我在Rails 3.1应用程序中使用了simple_form gem,我想自定义关联的显示方式。

今天,对于这段代码:

<%= f.association :grupos, :include_blank => false, :label_method => :nome, :as => :check_boxes %>

simple_form做了类似的事情:

<div><label>Grupos<label><span><input name="user[grupo_ids][]" type="checkbox" value="1" /><label for="user_grupo_ids_1">Nome do Grupo</label></span></div>

因此,它将关联HTML代码包装在其中,并将关联的名称放在

我想将关联HTML代码放入其中并在

中显示关联的名称

类似的东西:

<fieldset><legend>Grupos</legend><span><input name="user[grupo_ids][]" type="checkbox" value="1" /><label for="user_grupo_ids_1">Nome do Grupo</label></span></fieldset>

是否可以自定义simple_form,而无需更改内部代码或进行猴子修补?

2 个答案:

答案 0 :(得分:4)

您可以使用

SimpleForm.wrapper_tag = :fieldset

f.association :field, :wrapper_tag => :fieldset

答案 1 :(得分:1)

很遗憾,您无法将标签标记更改为标记标记,而标记标记应该更改为标记标记。

你可以这样做:

%fieldset
  %legend Title of legend
  f.association :grupos, :include_blank => false, :label => false, :as => :check_boxes