accepts_nested_attributes_for가 belongs_to와 함께 작동합니까?
나는이 기본적인 질문과 관련하여 모든 종류의 상충되는 정보를 얻고 있으며, 대답은 현재 내 문제에 매우 중요합니다. 그래서 간단히 말해서 Rails 3에서 belongs_to 관계와 함께 accepts_nested_attributes_for를 사용할 수 있습니까?
class User < ActiveRecord::Base
belongs_to :organization
accepts_nested_attributes_for :organization
end
class Organization < ActiveRecord::Base
has_many :users
end
보기에서 :
= form_for @user do |f|
f.label :name, "Name"
f.input :name
= f.fields_for :organization do |o|
o.label :city, "City"
o.input :city
f.submit "Submit"
중첩 된 속성은 Rails 4에서 belongs_to 연관에 대해 잘 작동하는 것으로 보입니다. 이전 버전의 Rails에서 변경되었을 수 있지만 4.0.4에서 테스트했으며 예상대로 작동합니다.
문서 epochwolf는 첫 번째 줄에 "중첩 된 속성을 사용하면 상위를 통해 연결된 레코드에 속성을 저장할 수 있습니다."라는 상태를 언급 합니다 . (내 강조).
이 질문과 같은 줄에있는이 질문에 관심 이 있을 수 있습니다 . 두 가지 가능한 솔루션에 대해 설명합니다. 1) accepts_nested_attributes를 관계의 다른 쪽 (이 경우 조직)로 이동하거나 2) 양식을 렌더링하기 전에 사용자에서 조직을 빌드하는 방법 을 사용합니다build
.
또한 약간의 추가 코드를 처리 할 의향이있는 경우 belongs_to 관계와 함께 accepts_nested_attributes를 사용하는 잠재적 솔루션을 설명하는 요점을 찾았습니다 . 이 build
방법도 사용합니다 .
들어 belongs_to
레일 3.2 연결, 중첩 된 모델은 다음 두 단계가 필요합니다 :
(1) attr_accessible
자식 모델 (사용자 모델)에 새로 추가 합니다.
accepts_nested_attributes_for :organization
attr_accessible :organization_attributes
(2) @user.build_organization
열을 생성하기 위해 자식 컨트롤러 (사용자 컨트롤러)에 추가 합니다 organization
.
def new
@user = User.new
@user.build_organization
end
Ruby on Rails 5.2.1의 경우
class User < ActiveRecord::Base
belongs_to :organization
accepts_nested_attributes_for :organization
end
class Organization < ActiveRecord::Base
has_many :users
end
컨트롤러로 이동하여 "users_controller.rb"라고 가정합니다.
Class UsersController < ApplicationController
def new
@user = User.new
@user.build_organization
end
end
그리고 Nick이 한 것처럼보기 :
= form_for @user do |f|
f.label :name, "Name"
f.input :name
= f.fields_for :organization do |o|
o.label :city, "City"
o.input :city
f.submit "Submit"
결국 @ user3551164가 이미 해결되었음을 알 수 있지만 이제는 (Ruby on Rails 5.2.1) attr_accessible :organization_attributes
참고 URL : https://stackoverflow.com/questions/7365895/does-accepts-nested-attributes-for-work-with-belongs-to
'IT박스' 카테고리의 다른 글
몽구스 : 깊은 인구 (밀집된 필드 채우기) (0) | 2020.12.14 |
---|---|
Unix에서 PID 파일을 올바르게 처리하기위한 참조 (0) | 2020.12.13 |
Mountain Lion에 Simulator SDK 4.3을 Xcode 4.4에 설치합니다. (0) | 2020.12.13 |
RStudio 프레젠테이션 / slidify / pandoc의 2 열 레이아웃 (0) | 2020.12.13 |
VueJs 템플릿. (0) | 2020.12.13 |