Создание сокращенного URL для всех объектов в базе данных - PullRequest
1 голос
/ 20 октября 2011

Я хотел бы отобразить сокращенный URL-адрес помимо элементов контента на моем сайте для удобства обмена.

Каков наиболее эффективный способ сделать это и есть ли подходящие гемы / библиотеки?

Я использую рельсы на стеке mongodb / mongoid

enter image description here

Ответы [ 2 ]

1 голос
/ 20 октября 2011

должно быть достаточно простым (независимо от того, используете ли вы Mongo / MySQL или что-то еще). что вам нужно, это небольшая коллекция (монго, если можно), которая содержит своего рода MD5-хеш реального URL-адреса, который вам нужен, и реальный URL-адрес, например:

ShortLink.create(:hash_link => Digest::MD5.hexdigest(resource_url(@resource)), :real_link => resource_url(@resource))

Я предлагаю добавить еще один маршрут, который ловит такие, как этот:

match "l/:key", "ShortLinks#show"

должно быть легко.

0 голосов
/ 20 октября 2011

Я думаю, вы можете использовать bitly gem для сокращения вашего URL.

Следующая ссылка поможет вам настроить bitly:

http://www.marketingformavens.com/blog/url-shortening-bitly-ruby-on-rails

...