1

我仍在努力了解强大的参数以及它们的工作原理。

首先,默认情况下哪些参数实际上是可用的(编辑:刚刚确认似乎,ID 是,为什么会这样?),或者在明确许可之前它们都被认为是不安全的?

另外,我该如何去允许单个参数。我有一个我想允许的不是来自表单的 ID 参数,它只是示例/:id

多个参数有很多示例,例如

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

我知道该语句允许 time_start 使用 available_time 哈希,但是如果可用时间不是多维的并且只包含一个值怎么办。我将如何去允许它

params[:available_time].require.permit 或其他东西会起作用吗?

一些澄清会很棒,谢谢

4

1 回答 1

1

如果你只有一个参数,你真的不需要使用强参数。在创建或更新对象时,您可以只使用常规哈希:

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

如果你有多个并且这开始变得不堪重负,那么最好使用多维散列结构。

于 2013-11-01T11:01:36.383 回答