2012-10-12 2 views
0

URL의 :id 매개 변수를 변경하고 싶습니다.레일에서 URL의 매개 변수를 변경하십시오.

match "articles/:name/edit", :to => 'articles#edit', :as => 'edit_article' 

:nameparams[:name]으로 서버에 의해 읽혀질 나중에 나를 위해 레일 것이라고 생각 : 내가 좋아하는 내 routes.rb 파일 무언가에 추가됩니다. 나는 항상 오류 couldn't find article with id=test 및 궁금 얻을

def edit 
    @article = Article.find(params[:name]) 
end 

왜 대신 "ID": 난 그렇게 편집 내 문서 컨트롤러 정의를 편집 이름은? 나는 또한 변화하는 성냥을 시도했다. 그러나 나는 같은 것을 얻었다.

내 routes.rb 파일에도 여전히 기본 리소스가 있습니다. 더블 규칙과 같은 것이 있는지는 알 수 없습니다.

모든 것은 ID 번호 대신 URL에서 이름을 사용한다는 것입니다. 편집 할 수있는 show 메서드가 있지만 편집/업데이트/삭제는 할 수 없습니다.

내가 라우팅에 대해 reading 이었지만 내가 무엇을 잘못하고 있는지 알 수 없습니다.

답변

2

기본적으로 findid으로 검색합니다.

find_by_name으로 바꿔야합니다.

조언 : 사용 friendly_id

+0

감사합니다. friendly_id에 대해 살펴 보겠습니다. – pzin

관련 문제