hash.fetch(key, default)
の書き方は、キーが存在しないときはdefaultを返すという指定です。第二引数がなく、指定されたパラメータがないとき、ActionController::ParameterMissingエラーが起きます。
なので、実装上は、Strong Parameters の対象に対してデフォルト値を設定し、エラーを出したくない場合に使います。
(実際は、むしろdevelopment環境においてはエラーを検出したく、config.action_controller.action_on_unpermitted_parameters = :raise
と設定するくらいだと思いますが)
params = ActionController::Parameters.new(person: { name: 'Francesco' })
params.fetch(:person) # => <ActionController::Parameters {"name"=>"Francesco"} permitted: false>
params.fetch(:none) # => ActionController::ParameterMissing: param is missing or the value is empty: none
params.fetch(:none, 'Francesco') # => "Francesco"
params.fetch(:none) { 'Francesco' } # => "Francesco"
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/11 15:41