Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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 接受\u嵌套的\u属性,导致Rails中的堆栈级别太深_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 接受\u嵌套的\u属性,导致Rails中的堆栈级别太深

Ruby on rails 接受\u嵌套的\u属性,导致Rails中的堆栈级别太深,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个非常基本的例子 app/models/user.rb #name string class User < ActiveRecord::Base has_one :project,dependent: :destroy validates :name,presence: true validates_associated :project accepts_nested_attributes_for :project end #name string #us

我有一个非常基本的例子

app/models/user.rb

#name string
class User < ActiveRecord::Base
  has_one :project,dependent: :destroy
  validates :name,presence: true
  validates_associated :project
  accepts_nested_attributes_for :project
end
#name      string
#user_id   integer
class Project < ActiveRecord::Base
  belongs_to :user
  has_many :tasks,dependent: :destroy
  validates :name,presence: true
  validates_associated :tasks
  accepts_nested_attributes_for :tasks
end
#name   string
#project_id  integer
class Task < ActiveRecord::Base
  belongs_to :project,dependent: :destroy
  validates :name,presence: true
end
def update
    @user.project_attributes = {:name  => "P#rand(100)",:tasks_attributes => [{name: "Task#{rand(100)}"}]}

    respond_to do |format|
      if @user.save
        format.html { redirect_to @user, notice: 'User was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: 'edit' }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end
每次我尝试更新给定的用户时,我都会遇到
堆栈级别太深的问题
问题

有线索吗

注:
仅在共享关联的一个模型中写入
dependent::destroy
。如果两个模型中都有
dependent::destroy
,则会出现无限多的调用,导致堆栈级别太深错误。

只在共享关联的一个模型中写入
dependent::destroy
。如果两个模型中都有
dependent::destroy
,则会发生无限次调用,导致堆栈级别太深错误。

ehh我很抱歉,是的,你是对的。ehh我很抱歉,是的,你是对的。
Rails version 4.0.4 
Ruby 2.1.2p95