Как я могу изменить внешний вид и действие ссылок в моем приложении Rails 3?

#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'
  

Есть много вещей, которые вы можете сделать с маршрутами — мое предложение было бы ознакомиться с ними самостоятельно.