2014-05-15 2 views
0

예상대로 컨트롤러 매개 변수 해시에 액세스 할 수 없습니다. 나는 그것이 HashWithIndifferentAccess하지만 난 항상이 오류 여기 wrong number of arguments (1 for 0)레일 컨트롤러 매개 변수 해시

로 실행 시도했다 상관없이 컨트롤러 방법 이해 :

여기
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")는 하나 개의 인수가 아닌 Hash#[] 메서드 호출과 params 메소드 호출이다

한다. Hash#[]을 사용해야합니다.

+1

감사합니다. – phpete

0

당신은 대괄호를 사용한다 :

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