2016-02-27 2 views
2

Я создаю простой сайт электронной коммерции. Я не хочу использовать драгоценный камень spree, потому что у него есть некоторые проблемы с локализацией. Итак, я решил построить свое. У меня будет несколько категорий, которые я возьму из базы данных. Скажем, я беру категорию cars И там я нажимаю на bmw x5 limited edition Поэтому я хочу, чтобы браузер строка адреса выглядеть http://mywebsite.com/cars/bmw-x5-limited-editionПользовательские рельсы для построения ссылок

мне нужно это для сео. Я не хочу использовать параметры get, такие как mywebsite.com/cars/5?carname=bmw-x5 Также будет много категорий и продуктов, которые будут добавлены в базу данных через панель управления администратора. Итак, как мне это сделать?

ответ

1

определить метод в car модели

def to_param 
    carname.to_s.gsub(/\s/, '-') 
end 

Ваш URL будет http://mywebsite.com/cars/bmw-x5-limited-edition

но вы должны найти запись в show действия по carname вместо id, потому что теперь вы отправляете carname в место id.

Надеюсь, это поможет.

0

Этот камень может также помочь вам: https://rubygems.org/gems/sanetitle. Он делает именно то, что вы хотите, удаляя специальные символы и помещая все в нижнем регистре. Вы также можете ограничить количество символов в возвращаемом значении.

Смежные вопросы