у меня есть файл маршрутов, который выглядит примерно так (Это очень глубоко вложенными ... Я знаю):Rails создает маршруты из объектов
scope :admin, module: :admin do
namespace :breadth do
resources :areas, as: 'areas' do
resources :sequences, as: 'sequences'
end
end
end
rake routes
При запуске я получаю обратно все маршруты, включая один breatdh_area_sequences
(это именно то, что я хочу). Проблема заключается в том, что когда я создаю форму рельсы создает неправильный URL на основе параметров, я придав ему:
= form_for [:breadth, breadth_sequence.area, breadth_sequence] do |f|
...
Это дает мне:
undefined method `breadth_breadth_area_breadth_sequences_path' for #<#<Class:0x007fe55bcf16b8>:0x007fe55d9a3f68>
Точно как же рельсы взять этот массив параметров и создать URL-адрес из него? Я предполагаю, что он вызывает метод для каждого объекта? Я могу это переопределить, чтобы получить именованный маршрут, который я ожидаю (не переопределять: url on form_for)
вы можете просто попробовать «form_for breadth_area_sequences_path» – beck03076
я мог, но в зависимости от breadth_sequence' является 'ли новая запись или нет, этот URL изменится (' breadth_area_sequence_path' для существующих записей и 'breadth_area_sequences_path' для новых объектов) , Я бы хотел, чтобы рельсы сами поняли это без меня, указав URL-адрес –