Friendly_id не работает, перенаправляет в категорию с неправильным индексом - PullRequest
0 голосов
/ 30 января 2012

Я следовал скринкасту Райана Бейтса, чтобы настроить friendly_id (до части def should_generate_new_friendly_id?) Для моей модели категории. Одна из категорий - это книги, но по какой-то причине / category / books перенаправляет на пустую страницу, и журнал показывает, что сервер пытается получить категорию с id = 0 (что неверно.) сделано:

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)

Есть идеи, в чем может быть проблема?

Edit:

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)

1 Ответ

0 голосов
/ 04 марта 2012

Это оказалось больше, чем просто friendly_id ... (см. Комментарии к исходному вопросу)

Кажется, что действие показа категории # отсутствует:

Category.find(params[:id])
...