약 40 개의 양식 필드가있는 모델 사용자가 있습니다. 그런 다음 하위 모델에 속하는 양식의 필드가 3 개 있습니다. 그들은 : 나이, : 성별, : 집.accepts_nested_attributes_for를 사용하여 모델을 저장하는 방법은 무엇입니까?
나는 accepts_nested_attributes_for에 대한 설명서를 살펴본 결과 하위 모델을 데이터베이스에 저장하는 방법에 대해서는 약간 혼란 스럽습니다. 내 UsersController에서
나는 다음과 같습니다 게시물과 accepts_nested_attributes_for : 게시물
@user = User.new(params[:user])
...
@user.save
지금 레일 문서에 그들이 그 안에, 그 has_many 회원이라는 모델을 가지고. 그들은 다음과 같이 멤버 모델을 저장합니다 :
params = { :member => {
:name => 'joe', :posts_attributes => [
{ :title => 'Kari, the awesome Ruby documentation browser!' },
{ :title => 'The egalitarian assumption of the modern citizen' },
{ :title => '', :_destroy => '1' } # this will be ignored
]
}}
member = Member.create(params['member'])
그러나 params [: member]와 params [: user]가 이미 같습니다. My 3 Child fields, : age, : gender 및 : home은 params [: age], params [: gender] 및 params [: home]에 있습니다. 그래서 내 질문에 User 모델을 저장하고 자식 모델 내에 Child 필드 3 개를 저장하게하는 방법이 무엇인지 생각해보십시오.
감사합니다. @Zajn. 그것은 많은 것을 설명합니다. 그러나 나는 내 질문에 중요한 부분을 빠뜨린 것 같다. 이 하위 필드는 사용자가 지정한 자녀 수에 따라 동적으로 생성됩니다. 그럼 내가이 자식 필드를 저장하겠습니까? @ user.children.build (나이 : params [: age1], 성별 : params [: gender1], 집 : params [: home1]) – mikeglaz
예, 작동합니다. – mikeglaz