2012-01-30 1 views
0

내 카테고리 모델의 friendly_id 설정 (def_generate_new_friendly_id? 부분까지)을 얻기 위해 Ryan Bates의 스크린 캐스트를 따라 왔습니다. 카테고리 중 하나는 책이지만 어떤 이유로/카테고리/책은 빈 페이지로 리디렉션되며 로그는 서버가 id = 0 인 카테고리를 가져 오려고한다는 것을 보여줍니다 (잘못된 것입니다). 다 :Friendly_id가 작동하지 않습니다. 잘못된 색인이있는 카테고리로 리디렉션됩니다.

class Category < ActiveRecord::Base 
    extend FriendlyId 
    friendly_id :name, use: :slugged 

    validates :name, :presence => true, :uniqueness => true, :length => { :in => 3..20 } 
end 

내 마이그레이션 : 레일 콘솔에서

class AddSlugToCategories < ActiveRecord::Migration 
    def change 
    add_column :categories, :slug, :string 
    add_index :categories, :slug 
    end 
end 

그리고 마지막으로, :

Category.find_each(&:save) 

문제가 될 수있는 어떤 생각?

편집 :이 범주 # 쇼 조치가없는 것처럼

것 같다 (원래의 질문에 대한 의견을 참조) ... 단지 friendly_id보다 더 많은 것으로 밝혀졌다

Started GET "/categories/books" for 127.0.0.1 at 2012-03-02 13:03:29 -0500 
    Processing by CategoriesController#show as HTML 
    Parameters: {"id"=>"books"} 
    Category Load (0.4ms) SELECT "categories".* FROM "categories" 
    Item Load (0.6ms) SELECT "items".* FROM "items" WHERE "items"."category_id" = 0 
Rendered categories/_items.html.erb (1.9ms) 
Rendered categories/show.html.erb within layouts/application (20.7ms) 
Completed 200 OK in 139ms (Views: 69.1ms | ActiveRecord: 6.6ms) 
+0

routes.rb에서 재미 있은 것이 있습니까? –

+0

@KyleMacey 무슨 뜻인지 확실하지 않습니다. 내 routes.rb에 friendly_id와 관련된 내용을 추가하지 않았습니다. – varatis

+0

그 전에도. 카테고리와 관련된 특별한 라우팅을 수행하고 있습니까? 또한 컨트롤러를 게시 할 수 있습니까? –

답변

0

:

Category.find(params[:id])