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

时间:2012-01-27 05:13:57

标签: ruby-on-rails ruby-on-rails-3.1

对于在控制器中创建,数据将传递到params[:controller_name]中的控制器(例如,controller_name可能是文章或产品)我们可以使用params[:field1]来访问field1数据(错误!)。我们知道数据是以controller_name -> {field1 = A, field2 = B ...}传递的。 params[:controller_name][:field1]params[:field1]相同吗?

有人可以解释一下吗?感谢。

2 个答案:

答案 0 :(得分:1)

我认为controller_name是一个保留的参数,它始终保存控制器的名称,以便解释您所看到的任何奇怪的行为。尝试使用:cname或类似的东西。

答案 1 :(得分:0)

答案是:从params检索字段的正确方法是params[:controller_name][:field_name],这里的controller_name可以是产品或文章。

params[:field_name]在我们的测试中只返回任何内容。