изменение идентификатора / URL-адреса в приложении rails 3 с помощью mongoid - PullRequest
1 голос
/ 17 января 2012

В настоящее время в моем приложении rails записи расположены по следующим URL-адресам:

http://www.mysite.com/items/fecffe6aa299a6050274ed22

но вместо этого я бы хотел, чтобы они шли к чему-то вроде:

http://www.mysite.com/items/item-title-here

есть идеи, как мне этого добиться?

Ответы [ 3 ]

7 голосов
/ 27 июля 2012

Я рекомендую использовать mongoid_slug gem : он позволяет генерировать слаг или постоянную ссылку на основе одного или нескольких полей в модели Mongoid.

Вот пример их использования:

## Set up a slug:
class Book
    include Mongoid::Document
    include Mongoid::Slug
    field :title
    slug :title
end

## Find a record by its slug:
# GET /books/a-thousand-plateaus
book = Book.find_by_slug params[:book_id]
0 голосов
/ 17 января 2012

просто измените функцию "show"

Например

def show

item= Item.where({name=>params[:id]}).first
do something...

end

Просто поставьтефункция для получения объекта из вашего собственного идентификатора ....

0 голосов
/ 17 января 2012

Проверьте этот Railscast: FriendlyId .

Это для ActiveRecord, но не для Mongoid. Но вы все еще можете получить идею из этого.

...