我有一個在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' –