繁体   English   中英

用导轨中的嵌套形式工作

[英]Woking with nested forms in rails

我有3个型号

公司
has_many:部门


has_many:角色
所属公司

角色
所属:部门

我正在尝试创建一个包含公司名称,用户动态添加的n个部门( 按按钮单击呈现相同的部分 )和每个部门内的n个角色( 按按钮单击呈现相同的部分 )的动态部门的动态页面。 我想打个电话

form_for :company do |f|

= department_partial(每个用户渲染n次),包含部门表单

form_for :department do |f|

= role_partial(每个用户渲染n次),包含角色形式

form_for :role do |f|

这样,当我单击一次保存以调用CompaniesController#Create时

我得到像

{“ company” => {“ name” =>“ somename”,
“ department1” => {“ name” =>“ somename”,“ role” => [{“ name” =>“ R1”},{“ name” =>“ R2”}]}},
“ department2” => {“名称” =>“ somename”,“角色” => [{“名称” =>“ R1”},{“名称” =>“ R2”},{“名称” =>“ R3" }]}}

注意

1>每个部门可能会重复扮演相同的角色,但在部门方面是不同的。
2>单击“保存”之前没有任何保存

请检查nested_form gem

您的视图可能看起来像这样:

<%= nested_form_for @company do |comp| %>

   <!--  pick the company attributes --> 

   <%= comp.fields_for :departments do |department| %>
      <%= department.text_field :name %>

      <%= department.fields_for :roles do |role| %> 
          <!-- Pick your role attributes  --> 
       <% end %>

    <% end %> 
<% end %>

看一下这个示例代码 这将为您提供帮助:)检查以下railscast视频:

http://railscasts.com/episodes/196-nested-model-form-part-1

http://railscasts.com/episodes/197-nested-model-form-part-2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM