Ruby on rails 如何从简单表单通过控制器更新嵌套属性?

Ruby on rails 如何从简单表单通过控制器更新嵌套属性?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在尝试更新一个嵌套关联,它有两个父对象,都是一对多 公司有很多公司用户,用户也有很多公司用户 公司用户既属于公司,也属于用户 这是我目前的表格 <%= simple_form_for([:admin, @company_user], url: @company_user.new_record? ? admin_company_users_path : admin_company_user_path) do |f| %> <div class="row-fluid">

我正在尝试更新一个嵌套关联,它有两个父对象,都是一对多

公司有很多公司用户,用户也有很多公司用户

公司用户既属于公司,也属于用户

这是我目前的表格

<%= simple_form_for([:admin, @company_user], url: @company_user.new_record? ? admin_company_users_path : admin_company_user_path) do |f| %>
  <div class="row-fluid">
    <div class="span4 columns">   
       <%= render partial: "admin/layouts/form_errors", locals: {instance: @company_user} %>

  <div class="actions">
    <%= f.simple_fields_for(@company) do |p| %>
      <%= p.input :name %>
    <% end %>
    <%= f.simple_fields_for(@user) do |s| %>
      <%= s.input :full_name %>
    <% end %>
      <%= f.input :role %>       
     <%= f.submit class: "submit" %>
  </div>
</div>
 <% end %>
这些字段正确地显示了全名和名称,但是当我点击更新按钮时,什么也没有发生

这是我的控制器

module Admin
class CompanyUsersController < BaseController


before_action :load_company_user, only: [:edit, :update, :destroy]
respond_to :html


def index
  @company_users = CompanyUser.includes(:user, :company).page(params[:page])
end


def edit
end

def update
  flash[:notice] = 'Company User was successfully updated.' if @company_user.update(permitted_params)
  respond_with @company_user, location: admin_company_users_url
end

def destroy
  @company_user.destroy
  respond_with @company_user, location: admin_company_users_url
end


def load_company_user
  @company_user = CompanyUser.find(params[:id])
  @company = @company_user.company
  @user = @company_user.user
end

def permitted_params
  params.require(:company_user).permit(:role, pets_attributes: [:full_name,:name])
end
end
end
我尝试在company和user实例对象上调用允许的方法,但他们抱怨不知道角色参数。问题在于允许的参数方法。它应该像下面这样

def permitted_params
  params.require(:company_user).permit(:role, company_attributes: [:name], user_attributes: [:full_name])
end

我的解决方案有效吗?