Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 嵌套窗体的另一个体量指定错误_Ruby On Rails_Nested Forms - Fatal编程技术网

Ruby on rails 嵌套窗体的另一个体量指定错误

Ruby on rails 嵌套窗体的另一个体量指定错误,ruby-on-rails,nested-forms,Ruby On Rails,Nested Forms,我已经做了10次了,每次我似乎都遇到一些嵌套表单的问题。以下是我所拥有的: 客户端控制器: def new @client = Client.new @contact = @client.contacts.new @header = "New Client" respond_to do |format| format.html # new.html.erb format.json { render json: @client }

我已经做了10次了,每次我似乎都遇到一些嵌套表单的问题。以下是我所拥有的:

客户端控制器:

  def new
    @client = Client.new
    @contact = @client.contacts.new
    @header = "New Client"

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @client }
    end
  end
客户端类:

class Client < ActiveRecord::Base
  ## ASSOCIATIONS ##
  belongs_to :user
  has_many :contacts, :dependent => :destroy
  has_many :invoices

  ## ACCESSIBLE ##
  attr_accessible :name, :address_line_one, :address_line_two,
                      :contacts_attributes
  ## NESTED ATTRIBUTES ##
  accepts_nested_attributes_for :contacts
但我在提交表单时仍会出现以下错误:

  = form_for(@client) do |f|
    = f.fields_for(@contact) do |contact|
Can't mass-assign protected attributes: contact
和参数:

"client"=>{"name"=>"23",
 "contact"=>{"name"=>"asdf",
 "email"=>"af@gmail.com"}},
 "commit"=>"Save"}
我要做的是:

def new
  @client = Client.new
  @client.contacts.build
  @header = "New Client"

  respond_to do |format|
    format.html # new.html.erb
    format.json { render json: @client }
  end
end
以及:


您是否尝试过:contact\u属性并接受:contact的\u嵌套\u属性?我通常发现这是一个命名约定问题,或者db列的名称与模型的名称相同。我不这么认为,因为它是一对多关系。
= form_for(@client) do |f|
  = f.fields_for(:contacts) do |contact|