В рельсах, помощник названия различных маршрутов должно быть разным. И, следовательно, как вы правильно поняли, вы получите сообщение об ошибке, если используете одно и то же имя помощника (т. Е. Как: «профиль» в вашем случае) для двух разных маршрутов.
Это ограничение в Rails помогает поддерживать разумность в файле routes.rb, а также в вашем приложении. Например рассмотрим два метода контроллера:
class XyzController < ApplicationController
def method_a(param1)
end
def method_b(param1)
end
end
В маршрутах файл, если не было никаких ограничений держать вспомогательные имена разные, вы могли бы использовать:
get 'xyz/method_a', to: 'profile#method_a', as: 'profile_method'
get 'xyz/method_b', to: 'profile#method_b', as: 'profile_method'
Соответственно в файле вида:
Как видно, в файле вида не просто определить, какой маршрут предназначен для какого метода, его также невозможно маршрутизировать в любой другой элемент управления er, используя вспомогательный метод 'profile_method', за исключением метода, который первым использует этот помощник в вашем файле route.rb (поскольку маршруты читаются последовательно).
Надеется, что это помогает :)
Почему бы не определить параметр «слизняк» в качестве дополнительного, а затем вы можете объединить оба? Конечно, с некоторой логикой в контроллере. Я думаю, что ошибка, о которой вы говорите, имеет основание быть, по-видимому, два действия для разных вещей, почему они должны иметь одно и то же имя ?. –