2014-05-15 76 views
0

我無法像我期望的那樣訪問控制器參數哈希值。我的理解是HashWithIndifferentAccess,但不管是什麼我已經試過,我總是遇到這樣的錯誤wrong number of arguments (1 for 0)Rails控制器參數哈希

這裏是控制器方法:

def cuisine 
    @selection = params("name") // or params(:name) 
end 

這裏的routes.rb

get '/cuisine/:name', to: 'main#cuisine' 

什麼我從params本身看到(@selection)是哈希..

{"controller"=>"main", "action"=>"cuisine", "name"=>"american"} 


我感謝您的幫助!

回答

1

寫爲

@selection = params["name"] # or @selection = params[:name] 

params("name")params有一個說法,不是一個Hash#[]方法調用方法調用。您需要使用Hash#[]

+1

我現在明白了,謝謝! – phpete

0

你應該用方括號:

def cuisine 
    @selection = params["name"] # or params[:name] 
end