문제

다른 테이블과 관계가있는 테이블에 표시 해야하는 양식이 있습니다. 예를 들어, Has_one Claimant 및 Has_one Client의 테이블 "케이스"(생각, 조사자 사례)가 있습니다.

사례 데이터, 클라이언트 데이터 및 청구자 데이터를 작성하기 위해 필드를 표시하기를 원합니다. 제출 될 때이 작업을 수행하는 쉬운 방법이 있습니까?

case = Case.new(params[:case])
case.save

내가 케이스 데이터에 대해서만 양식을 제출하고 저장하는 경우가 있습니까?

도움이 되었습니까?

해결책

당신이 찾고있는 것 같네요 accepts_nested_attributes_for activerecord의 방법. 당신은 당신의 양식을 사용하여 제작해야합니다

- form.fields_for :claimant do |claimant_form|
  = claimant_form.text_field :name

더 많은 정보를 찾을 수 있습니다 Ryan Daigle의 블로그 게시물

다른 팁

나는 당신이 Case.save를 호출 할 수있는 방법이 있다고 생각하지 않습니다.

양식을 만들려면 fields_for를 사용하십시오. http://api.rubyonrails.org/classes/actionview/helpers/formhelper.html#m001605

fields_for는 다른 사후 변수에 저장된 필드를 추가 할 수 있으므로 필드를 올바르게 설정하면 새 메소드에서 다음과 같은 작업을 수행 할 수 있습니다.

claimant = Claimant.new(params[:claimant])
claimant.save

더 복잡하지 않습니다.

내 참조 복잡한 형식의 예술 중첩 된 멀티 모델 양식을 작성합니다. 이것은 Rails 2.3과 함께 작동하도록 업데이트되었습니다. accepts_nested_attributes_for.

그것은 당신이 아래에있는 협회를 중첩 할 수있게합니다 params[:case] 당신이 원하는 것처럼. 전화 할 때 case.save 다른 모든 것도 저장 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top