find_by_slug (params [: id]) всегда возвращает ноль - PullRequest
0 голосов
/ 30 сентября 2011

Я просто использую Ruby on Rails 3.1 и хочу использовать gem mongoid и mongoid_slug, чтобы сделать мой url читабельным. Есть моя проблема: В моем режиме фото введите этот код: "включить Mongoid :: Document", "включить Mongoid :: Slug" и "slug: title" (название является одним из атрибутов фотографии) И в моем контроллере я вызываю этого в моем действии: "@photo = Photo.find_by_slug (params [: id])", но этот код всегда возвращает нулевое значение !! Пожалуйста, помогите мне!

1 Ответ

3 голосов
/ 03 октября 2011

Я нашел свой ответ, но все равно спасибо!он всегда возвращает нулевое значение, потому что модель не загружает слаг (это означает, что у каждого объекта модели нет «slug: title»).Поэтому я должен инициировать слаг в моей модели.Я пишу в моем файле db.rake следующий код и запускаю rake db: init_slug.Это моя задача init_slug: "photo.all.each do | p | p.send (: generate_slug!) P.save!"Затем перезапустите сервер еще раз, и код больше не возвращает нулевое значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...