2014-06-23 3 views
2
에 FriendlyId와 초기화되지 않은 상수

난 그냥 3.12에서 Rails4로 마이그레이션 나는 3.12 내가 여기 이렇게 http://richonrails.com/articles/friendlyid-and-rails-4#.U6fTOY1_v_4나가서 설명하자면 NameError : 마이그레이션 후 Rails4

내 gemfile 기능의 지침을 따라 레일에서 잘 작동했다 FriendlyId을 사용합니다 : 사용

gem 'friendly_id', '~> 5.0.0' 

friendly_id 5.0.4

그러나 나는 다음과 같은 오류 메시지가 계속 :

을 내가 본

을 FriendlyId하는 리조트를 각 클래스에 대한

NameError: uninitialized constant <Classname>::FriendlyId 

0이 NameError in SongsController#index uninitialized constant Song::FriendlyId 하지만 내 경우에는 내가 레일 4이 같은 문제를 가지고 무엇을

+0

당신이 그 후 서버를 다시 시작 했을? – Pavan

+0

예,했는데 아무 소용이 없습니다. – cedric

+0

혹시 이것을 알아 냈습니까? friendly_id를 이미 사용하고있는 기존 앱에 새 모델을 추가했을 때 갑자기이 모든 것을 볼 수 있습니다. – wuliwong

답변

4

을 변경하지 않습니다 설치 번들 - 나는 그것을 고정 봄을 다시 시작하여 :

$ spring stop 

콘솔을 다시 실행하고 다시 작동합니다.

+0

나를 위해 작동하지 않습니다 ... – cedric

+0

당신은 봄을 사용하지 않으면 그냥 레일 서버를 다시 시작할 수 있고 괜찮을 것입니다. – Keon

+0

여전히 같은 오류 메시지가 나타납니다. – cedric

0

코드를 보지 못했지만 모델에 extend FriendlyId을 추가해야합니다. 이 예 :foo에서

class Song < ActiveRecord::Base 
    extend FriendlyId 
    friendly_id :foo, use [:slugged, :finders] 
end 

는 고유 슬러그를 만드는 데 사용할 friendly_id 원하는 속성입니다.

+0

내 코드는 내 클라이언트 모델에서 사용하는 코드를 제외하고는 다음과 같습니다 (내 시스템 모델에서 다음과 같이) : FriendlyId friendly_id : foo, : use => : 범위 지정 : : 범위 => : 클라이언트 (레일즈 3에서 잘 작동합니다.) – cedric

+0

':'을 제거해 보셨습니까? 나는 그들의 문서에 정확히 어떻게 그것을 일치하려고합니다. 나는 콜론을 사용하는 것이'extend' 메소드에 대한 유효하지 않은 구문이라고 생각한다. – wuliwong

+0

예, 구문 오류, 예기치 않은 오류 [예 : [keyword_do 또는 '{'또는 '(' friendly_id : code, use [: slugged, : finder] – cedric

0

나는 같은 문제를 가지고 있었고, 내 경우에는 내가이 단계 잊었 :

# Change User.find to User.friendly.find in your controller 
User.friendly.find(params[:id])