#hyperlink #ruby-on-rails-3
#гиперссылка #ruby-on-rails-3
Вопрос:
У меня есть бренды и продукты, и каждую ночь их заменяет загрузка. Бренд может в конечном итоге получить новый идентификатор, а продукт всегда будет иметь новый идентификатор. Но у меня есть клиенты, которым нужны статические ссылки на эти динамические идентификаторы.
Я хотел бы, чтобы ссылка теперь выглядела как:
.mysite.com/brands/17/products/168390
чтобы они выглядели как:
.mysite.com/products/ABC123
где «ABC123» — это буквенно-цифровой идентификатор, не связанный с идентификатором. Думайте об этом как о номере модели.
Мне не нужно, чтобы кто-то давал мне ответ, я рад выполнить работу. Но любые указания на то, с чего я могу начать, помогли бы, поскольку у меня, по-видимому, нет правильной терминологии для успешного поиска в Google.
Спасибо!
Ответ №1:
Я бы посоветовал посмотреть скринкасты, сделанные Райаном Бейтсом в RailsCasts.
Что касается вашего вопроса о том, как изменить URL-адрес продуктов вместо id, конкретными из них будут Название модели в URL-адресе или полустатические страницы (просто информация о том, как выполняется маршрутизация). Что касается вашего вопроса о сокращении вложенных URL-адресов, то вы хотели бы, чтобы он применялся к вложенным ресурсам.
Это те, которые имеют отношение к вашим конкретным проблемам, однако я бы посоветовал просмотреть их все, чтобы узнать больше о фреймворке. Следует отметить, что, поскольку они довольно старые, в Rails 3, возможно, что-то изменилось, однако я полагаю, что как только вы получите что-то в Google, вы сможете довольно легко найти, как это сделать в Rails 3.
Ответ №2:
Сделайте это, используя rails routes. Что-то вроде:
match 'products/code/:product_code' => 'products#code'
Есть много вещей, которые вы можете сделать с маршрутами — мое предложение было бы ознакомиться с ними самостоятельно.