2011-12-11 78 views
1

有没有什么办法用formtastic渲染表单片段?formtastic渲染表单片段

我的表单中有一些复选框来自一对多的关系。因此,让我们假设一个具有一对多角色关系的用户表单。我formtastic形式会是什么样子

<%= semantic_form_for @user] do |f| %> 
    <%= f.inputs "Details" do %> 
     <%= f.input :name %> 
     <%= f.input :lastname %> 
    <% end %> 
    <%= f.inputs "Roles" do %> 
     <%= f.input :roles, :as => 'checkbox' %> 
    <% end %> 
    <% end %> 

现在行:

<%= f.input :roles, :as => 'checkbox' %> 

将输出复选框一到多。这工作正常。但是现在我需要实现一些只输出复选框的ActionController ...而没有任何形式和fieldset。这样我就可以在我的Ajax调用中使用它,并用新鲜呈现的复选框以非常的方式更新“角色”字段集。

任何想法?我卡住了,无法弄清楚如何解决这个问题。

回答

2

我不知道是否有人有这种需要...无论如何,因为没有人回答我找到了我自己的解决方案。 要渲染在视图(或部分视图)形式的片段文件:

<% ref = nil %> 
<% semantic_form_for [:admin, @user] do |f| %> 
    <% ref = f %> 
<% end %> 
<%= ref.input :roles, :as => :check_boxes, :required => false %> 

注意,只有最后一个行实际上输出的东西,前行没有。

有经验的Rubyst或者甚至新手可能会对此嗤笑......但我是一个noob(红宝石),这是我能想到的最好的。如果你们中的任何一个人都能说出更好的方法来做到这一点,我将非常乐意学习。