2015-07-28 3 views
0

Я использую impressionist драгоценный камень для работы с пользователем и храните URL-адрес реферера. Как я могу преобразовать url в удобочитаемую строку? Вот то, что я имею в виду:конвертировать url в удобочитаемую строку с рубином на рельсах

сохраненную URL: http://example.com/index?book_id%5B%5D=35&lang_id%5B%5D=1&category_id=3

нужно преобразовать в читаемых имена и показать на впечатлениях посмотреть, как: «Название книги», «Язык», «Категория Название»

+2

Вы можете использовать драгоценный камень 'friendly_id'. – Pavan

+0

@Pavan Это отличный камень, но помогает ли он показывать все идентификаторы с URL-адреса в виде имен? – Shulte

+0

Да. Вы можете получить URL-адреса, например 'http: // example.com/index/rails/english/fremework' – Pavan

ответ

2

Вы можете пойти с :

uri = URI.parse('http://example.com/index?book_id%5B%5D=35&lang_id%5B%5D=1&category_id=3') 
params = Rack::Utils.parse_nested_query u.query 
#=> {"book_id"=>["35"], "lang_id"=>["1"], "category_id"=>"3"} 

Теперь у вас остались переводные ключи для чтения. Как правило, вы можете использовать humanize метод, однако он не будет работать в соответствии с просьбой:

'book_id'.humanize #=> 'Book' 

Скорее всего, вам нужно будет падать обратно на I18n для обработки перевода.