Dyl*_*kow 51

在Rails中,params哈希实际上是HashWithIndifferentAccess一个标准的ruby Hash对象而不是标准的ruby 对象.这允许您使用类似字符串'action'或符号:action来访问内容.

无论使用什么,您都会得到相同的结果,但请记住,这只适用于HashWithIndifferentAccess对象.

  • 如果你需要确定是否给出了参数,请确保使用`params.has_key?`而不是`params.keys.include?`,因为前者将正确返回符号或字符串,但后者将为符号返回false . (7认同)