2

我很难理解如何使 ROR4 中的视图具有模型的参数。当我尝试在控制器中使用强参数时,它会出现,特别是:

 def model1_params
   params.require(:model1).permit(:attr1,attr2)
 end

有时它会起作用。有时我会得到“找不到参数:model1”

我的理解是它失败(当它失败时)因为正在提交的网页没有任何名为“model1”的参数并且它可以工作(当它有时)因为我所做的事情导致网页提交有这个参数。在后一种情况下,参数是表示模型字段的哈希,具有 attr1、attr2 等的成员。

当我使用“form_for”(它指定一个模型)而不是其他类型的表单调用时,它是否有效,它与模型无关?

注意:我写这个问题是因为我已经遇到这个问题好几个星期了,但没有任何进展。我在网上搜索了 Rails 文档和许多教学示例,但没有运气。我知道我很密集,但到目前为止,我还没有找到真正的 API 参考文档,也没有找到涵盖强参数的真正 API 程序员指南。

我找到了很多关于强参数的例子,但没有一个能清楚地解释它是如何工作的,这会让我自己弄清楚我做错了什么。

4

1 回答 1

0

假设您的控制器的方法与路由相关联model1_controller_method_path。可以从视图中的链接调用您的方法,如果model1参数不存在,是的,您将收到“未找到参数”错误。为避免这种情况,请确保从您的 link_to 传递您的参数,如下所示:

link_to model1_controller_method_path(:model1 => the_value_you_want)
于 2013-09-15T21:19:03.740 回答