Измените
member_action :new_photo_order, method: [:get, :post] do
if request.post?
# create resource
else
# render template with form
end
end
на
collection_action :new_photo_order, method: [:get, :post] do
if request.post?
# create resource
else
# render template with form
end
end
, потому что когда мы определяем member_action
, он определяет маршрут, подобный orders/:id/new_photo_order
, который ожидает id
.или если вы хотите использовать member_action
, вам нужно передать идентификатор заказа в вашем action_item, как это
action_item :new_photo_order, only: :index do
link_to 'New photo order', new_photo_order_admin_order_path(order.id)
end