У меня возникло сомнение, когда я писал код рельсов. В моем link_to
я использовал свой маршрут order
, чтобы показать мой заказ. Итак:по умолчанию маршрут в рельсах
<% @orders.each do |order| %>
<tr>
<th><%= order.name %></th>
<th><%= link_to 'Mostra', order %></th>
</tr>
<% end %>
Я видел мои грабли маршруты и там был:
order GET /orders/:id(.:format) orders#show
Если я правильно помню, я генерироваться ресурс для заказа с подмостей. Однако, когда я создал вручную новые ресурсы (не используя строительные леса) У меня был другой маршрут для моего ресурса. Например, у меня есть что-то вроде name_resource_show(:id)
для шоу. Этот тип стиля - хорошая причина, я понимаю, что мне нужно передать идентификатор, если я хочу увидеть конкретный ресурс. Но в случае раньше, в случае order
, я действительно не знаю, как рельсы могут понять, использовать ли идентификатор заказа объекта. А также: Почему у меня разные названия маршрутов? почему у меня иногда есть _path
, а иногда (может быть, когда я создаю ресурс с помощью строительных лесов)? Я бы ожидал чего-то вроде order_show(:id)
, а не просто order
. как это работает?