2014-06-20 3 views
0

URL에 슬러그를 사용할 때 충돌이 발생하여 레일스 도우미에 경로를 수동으로 정의합니다. 그것은 꽤 오랫동안 일해 왔지만 지금은 갑자기 "틀린 수의 인수 (0에 대해 1)"오류가 계속 발생합니다. 기사 도우미에서레일에 경로를 정의한 후 잘못된 인수 개수

은 :

def edit_article_path() 
"/articles/#{@article.id}/edit" 
end 

어떤 도움이 많이 이해할 수있을 것이다.

+3

당신이'인수 edit_article_path' 전화 내기,하지만 방법을 정의하지 않았다

def edit_article_path(article) "/articles/#{article.try(:id) || article}/edit" end 

이처럼 사용

내가 대신이 구현을 사용하는 것이 좋습니다. –

+0

네가 맞아, 방금 알아 냈어. – Terryfrancis

답변

0

@article 변수에 의존해서는 안됩니다. 도우미가보기에서 어디에서나 액세스 할 수 있고 일부 (대부분?)보기에는 @article 변수가 설정되지 않았기 때문에 변수에 의존해서는 안됩니다.

# view 
link_to article.title, edit_article_path(article) 
# or 
link_to article.title, edit_article_path(article.id) 
관련 문제