我很难理解如何使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程序员指南。
我已经找到很多关于强参数的例子,但没有一个清楚地解释它是如何工作的,这可以让我自己弄清楚我做错了什么。
答案 0 :(得分:0)
假设您的控制器方法与路由model1_controller_method_path
相关联。
您可以通过视图中的链接调用您的方法,如果model1
参数不存在,是的,您将获得未找到的'参数。错误。为避免这种情况,请确保从link_to传递参数,如:
link_to model1_controller_method_path(:model1 => the_value_you_want)