0
has_one과 다형성 연관이 있으며 연관성을 통해 만들려고 할 때 오류가 발생합니다.has_one과의 다형성 연관성, 연관성을 통해 생성 할 수 없음
class User < ActiveRecord::Base
belongs_to :userable, polymorphic: true
end
class Student < ActiveRecord::Base
attr_accessible :gender, :description, :dob
has_one :user, :as => :userable
end
내가하려고하면 :
s = Student.new
s.user.create
내가 얻을 오류 정의되지 않은 방법은 '전무'
을하지만 위해 만들! 내가 has_many 사용자와의 연관성을 바꾼다면 위의 같은 줄을 preform 할 수 있습니다.
왜 이런 일이 일어 났는지 설명 할 수 있습니까? 감사!
딱! 내가 이해하지 못하는 것은 내가 has_many를 사용할 때 사용자 배열 또한 무효이지만 여전히 만들 수 있다는 것이다. –
@UriKlar Great! has_many를 사용할 때 연관은 빈 배열로 초기화되므로 nil이 아니기 때문에 연관성에 대한 메서드를 호출 할 수 있습니다. 'has_one'을 사용하면 연관을 자동으로 초기화 할 수 없으므로 helper 메소드 (build_xxx, create_xxx) 중 하나를 호출하거나 명시 적으로 x.foo = Foo.new와 같이 할당해야합니다 –