1

병합하면 사용자는 '파티'에 참여하려는 다른 사용자를 선택할 수 있습니다. 현재 사용자의 ID를 사용자가 선택한 ID와 병합하려고합니다.매개 변수 레일을 내 레일 앱에

def party_params 
    params.require(:party).permit(:length, :game_id, user_ids: []).merge("user_ids" => ["user_ids"] + [current_user.id]) 
end 

이 다시 함께 제공 : 이것은 내가 해봤 한 방법입니다

'ID'모든 사용자 찾을 수 없습니다 : (0, 17) (1 개 검색된 결과 만했다

.merge(:user_ids => [current_user.id])을하는)이 찾는 대신 현재 사용자로 생성하고 선택한 모든 사용자를 제거하고 파티가 발생합니다.

나는 또한 .merge를 함수로 옮겨서 new에서 호출하려고 시도했으나 작동하지 않는 것으로 보인다. 내 모델에서

파티 has_and_belongs_to_many :users 마찬가지로 사용자 has_and_belongs_to_many :parties

어떤 도움에 감사드립니다! 감사합니다. .

답변

2

나는이처럼 작성합니다

def party_params 
    params.require(:party).permit(:length, :game_id, user_ids: []).tap do |p| 
    p[:user_ids] << current_user.id 
    end 
end 
+0

감사합니다! 그것은 완벽하게 작동했습니다. 나는 미래에 유용 할 것입니다 .tap에 대해 몰랐습니다. – JG3