다음 두 가지 모델이 관련되어 있습니다.레일스에서 동시에 많은 has_many_through 개체를 저장하는 방법은 무엇입니까?
USERS
has_many :celebrations
has_many :boards, :through => :celebrations
BOARDS
has_many :celebrations
has_many :users, :through => :celebrations
CELEBRATIONS
:belongs_to :user
:belongs_to :board
내 컨트롤러에서 양식 데이터로 개체를 만들고 싶습니다. 다음과 같이 나는이 작업을 수행 :
모델을 통해 많은 결합되어 있기 때문에@user = User.new(params[:user])
@board = Board.new(params[:board])
if @user.save & @board.save
@user.celebrations.create(:board_id => @board,:role => "MANAGER")
redirect_to :action => some_action
end
그들이에있는 양식에 표시 할 수 있도록 한 번에 오류 메시지를 생성 한 후 한 번에 저장하고 할 수있는 방법이 같은 시간?
<<<는 작성 방법과 동일하지 않습니다. has_many 연관 배열에 객체를 추가하기 만하면됩니다. 그런 다음 사용자 개체를 저장하면 관련 개체가 데이터베이스에 저장됩니다 (유효성 검사가 통과되면 제공됨). 'create'는 레코드를 생성하고 모든 유효성 검사가 통과되면 데이터베이스에 저장합니다. – rubyprince
위의 @ user.save << @boards를 사용하여 조인 테이블에 대한 일부 특성을 포함 할 수있는 방법이 없습니다. – chell
@ chell... 나는 하나를 알고 있지 않다. 나는 약간의 연구를 할 것이다. – rubyprince