Skip to content

belongs_to + :inverse_of + accepts_nested_attributes_for causes stack overflow on save #2525

@alexeymuranov

Description

@alexeymuranov

Here are the steps to reproduce:

  • Create an application with 2 models:
rails new assoc_test_app
cd assoc_test_app
rails generate model Person name:string
rails generate model Member person_id:integer
rake db:migrate
  • Edit the models:
class Member < ActiveRecord::Base
  belongs_to :person, :inverse_of => :member
  accepts_nested_attributes_for :person
end

class Person < ActiveRecord::Base
  has_one :member
end
  • Start console (rails c) and do:
m = Member.new
m.build_person(:name => 'John2')
m.person.save

This gives "SystemStackError: stack level too deep".

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions