简体   繁体   English

在rails 3.1.0中,params [:controller_name] [:field1]和params [:field1]是否相同?

[英]Are params[:controller_name][:field1] and params[:field1] the same in rails 3.1.0?

For create in a controller, the data is passed into the controller in params[:controller_name] (controller_name could be article or product for example) We can use params[:field1] to access the field1 data(WRONG!). 为了在控制器中创建,数据以params[:controller_name] (例如,controller_name可以是商品或产品)传递到控制器中。我们可以使用params[:field1]访问field1数据(WRONG!)。 We know the data is passed in as controller_name -> {field1 = A, field2 = B ...} . 我们知道数据是以controller_name -> {field1 = A, field2 = B ...}形式传入的。 Is params[:controller_name][:field1] the same as params[:field1] ? params[:controller_name][:field1]params[:field1]吗?

Can anyone explain? 谁能解释? Thanks. 谢谢。

I think controller_name is a reserved param that always holds the name of the controller so that could explain any weird behavior you are seeing. 我认为controller_name是始终保留控制器名称的保留参数,以便可以解释您所看到的任何怪异行为。 Try using :cname or something like that instead. 尝试使用:cname或类似的名称。

The answer is: the right way to retrieve a field from params is params[:controller_name][:field_name] , the controller_name here could be for example, product or article. 答案是:从params中检索字段的正确方法是params[:controller_name][:field_name] ,此处的controller_name可以是例如product或article。

params[:field_name] only returns nothing in our test. params[:field_name]在我们的测试中仅返回任何内容。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM