0
:레일 3 - 라우팅 및 파라미터 이름 내 모델에서이 규칙을 사용
def to_param
"#{self.name.parameterize}"
end
내 도우미에서 :
def articles_menu
menu = '<ul>'
Article.all.each do |article|
menu += '<li>'
menu += link_to "#{article.name}", article
menu += '</li>'
end
menu += '</ul>'
return menu.html_safe
end
을하지만 난 /articles/my-new-flat
에 갈 것이다 때, 나는거야 오류가 발생합니다
ActiveRecord::RecordNotFound in ArticlesController#show
Couldn't find Article with id=my-new-flat
아직 누락되었거나 내 앱에 문제가 있습니까? 나는 비록 이름의 파라미터 설정 만 여기에 코드와 https://github.com/norman/friendly_id/blob/master/README.md
문제가 레일 있음을 인 링크는,
** FriendlyId **를 사용하지 않고도 수행 할 수있는 방법이 있습니다. 나는이 보석에 대해 알고 있지만 DB 구조에 간섭하는 것을 좋아하지 않을 것입니다 ... – user984621
어떻게하면 레일스 라우팅이 작동하고': id' 라우트 파라미터가 어떻게 바뀌어야 만합니다. FriendlyId 소스 코드를 확인할 수 있습니다. 2 개의 파일을 https://github.com/norman/friendly_id/blob/master/lib/friendly_id/finder_methods.rb 및 https://github.com/norman/friendly_id/blob/master/lib/에서 확인하고 싶습니다. friendly_id/finder_methods.rb. 두 번째는 실제로 찾고있는 확장이며 ActiveRecord :: Base를 확장해야합니다. –
한 가지 더,이 메서드의 원래 구현도 wok이어야하므로 모델의 실제 ID에 응답해야합니다. 'Article.find_on (1234)'및'Article.find_one ("article-name-or-title")을 사용하여 테스트해야합니다. –