2

使用Rails 4中的strong_params,執行此操作的首選最佳方式是什麼? 我使用了下面的解決方案,但不確定這是否是最好的方法。 (它的工作原理雖然)Rails 4:從控制器的其他模型創建對象的正確方法

例子:(!快捷版)

game_controller.rb

# inside game controller we want to build an Participant object 
# using .require fails, using .permits goes true 
def GameController < ApplicationController 
    def join_game_as_participant 
     @participant = Participant.new(participant_params) 
    end 
end 

def participant_params 
    params.permit(:participant, 
        :participant_id, 
        :user_id, 
        :confirmed).merge(:user_id => current_user.id, 
            :game_id => params[:game_id]) 
end 

回答

3

participant_params方法應該是private,你應該使用require方法:

private 
    def participant_params 
    params.require(:participant).permit(
     :participant_id, :user_id, :confirmed 
    ).merge(
     :user_id => current_user.id, :game_id => params[:game_id] 
    ) 
    end 

希望得到這個幫助

相關問題