2012-06-10 2 views
1

을 'friendly_id' rake db:seed 작업이 실패합니다. 여기friendly_id, 시드 데이터베이스, 정의되지 않은 방법은, 내가 <a href="https://github.com/norman/friendly_id" rel="nofollow"><code>friendly_id</code></a>를 사용하는 모델 (dB/seeds.rb에서) 씨앗을 쓰기 위해 노력하고 있어요 레일 3 응용 프로그램에서

rake aborted! 
undefined local variable or method `friendly_id' for #<Class:0x007fa1de992ac8> 
/Users/cornelius/.rvm/gems/[email protected]/gems/activerecord-3.2.5/lib/active_record/dynamic_matchers.rb:50:in `method_missing' 
/Users/cornelius/Sites/usg/app/models/page.rb:2:in `<class:Page>' 
/Users/cornelius/Sites/usg/app/models/page.rb:1:in `<top (required)>' 
... 

모델입니다 :

# /app/models/page.rb 
class Page < ActiveRecord::Base 
    extend friendly_id 
    friendly_id :title, use: :slugged 
end 

나는 보석으로 friendly_id을 사용하고 있습니다 :

# /Gemfile 
gem 'friendly_id' 

어떤 도움 아래 --trace 실행 요점은 무엇입니까?

+2

는 "FriendlyId을 확장"을 사용하려고 했습니까? –

+0

문서 (https://github.com/norman/friendly_id)는 'extend friendly_id'가 아닌'extend FriendlyId'가되어야한다고 제안합니다. 그러나 나는 그런 대답을 쓰지 않고 Dave의 담당자를 훔칠 것입니다. – Shadwell

+2

@ Shadwell 걱정할 필요가 없습니다. ipd will;) –

답변

2

모델에서 클래스를 올바르게 확장해야하며 클래스 이름은 friendly_id가 아닌 FriendlyId입니다.

Ruby 및 Rails의 규칙에 따라 클래스 이름은 CamelCase이고 파일 이름은 snake_case입니다.

귀하의 페이지 모델을 읽어야합니다

class Page < ActiveRecord::Base 
    extend FriendlyId 
    friendly_id :title, use: :slugged 
end