

railsのプロジェクトで `def create` 内で使用される `params` が `コントローラの単数名_params`
となっているのですが、これはrailsの仕様でしょうか？  
そのような設定ファイルが見当たらなくて気になっています。

詳しい方教えて頂けないでしょうか。  
他に不足している情報があれば教えて頂けると幸いです。  
宜しくお願い致します。


CC BY-SA 4.0
2021-12-28T14:42:48.803
85380
2021-12-29T00:26:17.930
22565
question
ruby-on-rails ruby
railsのフロントから飛ばしてコントローラー内で受け取る値がparams以外で記述されている。


おそらくscaffoldで生成されたコントローラだと思うのですが、`コントローラの単数_params`というのはストロングパラメータと呼ばれるメソッドで、そのコントローラのファイルの`private`メソッドとして定義されていると思います。

[code]

    pravate
    def hoge_params
      params.require(:モデル名).permit(:カラム1, :カラム2)
    end
    
[/code]

例えば上記の場合、`permit`に指定されているカラム1とカラム2以外のパラメータがPOSTされてきても無視されます。

ストロングパラメータはマスアサインメントという脆弱性の対策のためにrails4以降に導入された機能で、悪意のあるパラメータの操作を防ぐためのものです。


CC BY-SA 4.0
2021-12-29T00:26:17.930
85383
2021-12-29T00:26:17.930
192
85380
answer