不明白什么时候ROR View会/不会有模型的参数

时间:2013-09-15 20:14:02

标签: ruby-on-rails ruby-on-rails-4

我很难理解如何使ROR4中的View有一个模型的参数。当我尝试在控制器中使用强参数时,它会显示出来,特别是:

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

有时它有效。有时我得到“param not found:model1”

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

link_to model1_controller_method_path(:model1 => the_value_you_want)