1

私はまだ強力なパラメータとそれらがどのように機能するかについて理解するのに苦労しています.

まず、デフォルトで実際に使用できるパラメーターはどれですか (編集: ID がそうであるように見えることを確認したところ、これはなぜですか?)、または明示的な許可が得られるまで、それらはすべて安全ではないと見なされますか?

また、単一のパラメーターを許可するにはどうすればよいですか。許可したい単一の ID パラメータがありますが、これはフォームからのものではありません。単純に examples/:id です。

複数のパラメーターの例はたくさんあります。

params.require(:available_time).permit(:time_start)

このステートメントが available_time ハッシュを使用して time_start を許可していることは理解していますが、利用可能な時間が多次元ではなく、値が含まれているだけの場合はどうでしょうか。どうしたら許されるんだろう

params[:available_time].require.permit または何かが機能しますか?

いくつかの明確化は素晴らしいでしょう、ありがとう

4

1 に答える 1

1

パラメータが 1 つしかない場合は、強力なパラメータを使用する必要はありません。オブジェクトを作成または更新するときに、通常のハッシュを使用できます。

def create
  MyRecord.create(value: params[:value])
end

複数あり、これが圧倒され始める場合は、多次元ハッシュ構造を使用することをお勧めします。

于 2013-11-01T11:01:36.383 に答える