我有一个在ruby 2.1上运行的rails 4应用程序。我有一个User
模型,看起来像Ruby 2关键字参数和ActionController ::参数
class User < ActiveModel::Base
def self.search(query: false, active: true, **extra)
# ...
end
end
正如你可以在搜索方法见我试图使用new关键字红宝石的参数配备2
的问题是,当我把这个代码从我的控制器中的所有值被转储到query
。
PARAMS
{"action"=>"search", "controller"=>"users", query: "foobar" }
请注意,这是一个ActionController的::参数对象,而不是因为它看起来
UsersController
def search
@users = User.search(params)
end
我觉得一个哈希这是因为params是ActionController::Parameters
对象而不是散列。然而,即使在将参数传递给query
而不是预期的行为时,甚至会在params上调用to_h
。我认为这是因为键现在是字符串而不是符号。
我知道我可以建立一个新的散列w /符号作为键,但这似乎比它的价值更麻烦。想法?建议?
发布内容你'params'将有助于 – bjhaid
@bjhaid更新瓦特/ params' –