Я пытаюсь объединить Devise с ресурсом пользователя RESTful, используя следующий код в файле routes.rb:
resources :users, :only => [:index, :show]
devise_for :users
Однако URL-адрес localhost: 3000/users/sign_up не попадает на страницу регистрации разработки, скорее это приводит к ошибке "Не удалось найти пользователя с ID = sign_up", поэтому он считает, что URL-адрес указывает на шоу действие пользовательского контроллера. Я обнаружил, что замена порядка строк приводит к предполагаемому поведению:
devise_for :users
resources :users, :only => [:index, :show]
Теперь, когда вы переходите на localhost: 3000/users/sign_up, вы действительно получаете страницу регистрации и переходите к localhost: 3000/users/1 попадает в действие show user-контроллера, как предполагалось.
Мой вопрос в следующем: меняет порядок кода, как это, правильный способ заставить работать вместе с ресурсом пользователей? Или что-то глубже идет не так? Я подозреваю, что просто замена этих двух строк кода не может быть решением!