Show 모델에 대한 Form_for가 있습니다. 밴드를 추가하기 위해 form_for에서 fields_for를 사용하고 싶습니다. 것은 레코드를 업데이트하기 위해 양식을 사용할 때 필드를 밴드에 묶는 것을 원하지 않습니다. 밴드의 이름이 바뀌면 새로운 밴드의 퍼포먼스를 업데이트하고 싶습니다.중첩 된 양식으로 조인 모델 사용 (has_many : 관계를 통해)
쇼는
class Show < ActiveRecord::Base
has_many :performances
has_many :bands, through: :performances
accepts_nested_attributes_for :bands
end
class Band < ActiveRecord::Base
attr_accessible :name, :website, :country, :state
has_many :performances
has_many :shows, through: :performances
validates :name, presence: true, uniqueness: true
end
class Performance < ActiveRecord::Base
attr_accessible :show, :band
belongs_to :show
belongs_to :band
end
여기 내 양식입니다 공연을 통해 밴드와 결합되어있다.
문제는 이것이 밴드 이름을 변경하는 데 사용되면 밴드 이름을 변경한다는 것입니다 (미친 짓?). Band 레코드를 업데이트하고 싶지는 않습니다. Band.find_or_create를 수행하고 새 밴드의 ID로 실적 레코드를 업데이트하고 싶습니다. 이 방법으로 사용자는 쇼에서 밴드를 제거하고 이름을 제거하고 다른 밴드 이름을 추가 할 수 있습니다.
성능 아이디가 아닌 밴드 ID (내가 생각하는) 같은
뭔가 포함해야한다 렌더링 된 HTML :
<input id="show_performance_attributes_1_id" name="show[performance_attributes][1][id]" type="hidden" value="62">
방법이 작업이 완료를?
으로 변경하십시오. 게시물 요청을 처리하는 작업에 코드를 작성해야합니다. – phoet
field_for를 호출하는 방법을 변경할 필요가 없습니까? – wiredin