2

使用 Rails 4 中的 strong_params,最好的方法是什么?我使用了以下解决方案,但不确定这是否是最好的方法。(虽然有效)

例子:

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
4

1 回答 1

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

希望这有帮助

于 2013-10-14T21:04:27.097 回答