Как вы создаете маршруты для моделей, у которых есть дополнительные дочерние свойства? Скажем, я создаю приложение службы поддержки, и тикет может быть связан с заказом, который клиент ранее делал со мной, или может относиться к элементу в каталоге, который он еще не заказал.
class CustomerServiceTicket
belongs_to :order
belongs_to :item
belongs_to :buyer
belongs_to :customer_service_category
end
class Order
...
has_one :customer_service_ticket
...
end
class Item
...
has_one :customer_service_ticket
...
end
в схеме для customer_service_ticket, order_id и item_id могут иметь значение NULL.
Таким образом, у меня будет ссылка «создать заявку в службу поддержки клиентов» рядом с их идентификатором order_id на странице их закрытых заказов... и аналогичная ссылка рядом с item_id на странице каталога продуктов.
Я думаю, что структура URL должна выглядеть так:
customer_service_ticket/новый/заказ/123
для тикетов, созданных по заказу
а также
customer_service_ticket/новый/элемент/789
для тикетов, созданных по предмету
и просто customer_service_ticket/new, когда нет ни того, ни другого (также подходит для случаев, когда у клиента просто есть общий вопрос)
Как бы я структурировал маршруты, чтобы они были наиболее эффективными? Я не женат на этой структуре URL выше, если есть лучший способ, я рад попробовать его.