Ruby on rails Rails窗体参数:params[:controller][:variable]或params[:variable]?

Ruby on rails Rails窗体参数:params[:controller][:variable]或params[:variable]?,ruby-on-rails,Ruby On Rails,在接收表单POST的Rails控制器中,将参数称为params[:controller][:variable]还是简单地称为params[:variable] Rails的表单帮助程序在视图中似乎将某些字段命名为controller[variable],但是当控制器使用params[:variable]时,控制器不知何故知道如何找到值。在其他情况下,它似乎不知道,特别是当我使用不同的控制器名称时(例如(@model,:as=>:othercontroller,:url=>:othercontro

在接收表单POST的Rails控制器中,将参数称为
params[:controller][:variable]
还是简单地称为
params[:variable]

Rails的表单帮助程序在视图中似乎将某些字段命名为
controller[variable]
,但是当控制器使用
params[:variable]
时,控制器不知何故知道如何找到值。在其他情况下,它似乎不知道,特别是当我使用不同的控制器名称时(例如(@model,:as=>:othercontroller,:url=>:othercontroller_path(@model)))


Rails文档表明,
params[:variable]
就足够了,但事实似乎并非如此?

IMHO,params[:variable]与任何控制器都没有关联。有时,它与模型的属性关联,有时与独立变量无关。params[:controller][:variable]给出哈希列表中的name:变量引用的值:controller。是的,您是正确的,但它是否与params哈希中的控制器关联(即嵌套哈希)是否是由渲染视图中字段的命名决定的,我认为表单帮助程序似乎不一致,因此我试图找出约定是什么。表单帮助程序不生成
params[:controller][:variable]
,而是生成
params[:model][:variable]