Маршруты Devise Gem Маршруты не найдены - PullRequest
0 голосов
/ 09 мая 2018

Раньше у меня работали модели, но теперь все маршруты не работают. У меня есть две модели пользователей и администраторов. Каждый из них имеет дополнительные атрибуты от normal: firstname,: lastname и т. Д., И каждый имеет отдельные одинаковые контроллеры и расширения Devise RegistrationsController. Это все началось, когда я начал добавлять начальную загрузку. Например, когда я пытаюсь выйти из системы, я получаю эту ошибку:

Не найдено ни одного маршрута [GET] "/ users / sign_out" Rails.root: / Пользователи / elizabeth / Рабочий стол / ecoCalculator

Я не уверен, что заставляет его думать, что выход - это [GET]

Когда я пытаюсь ввести / admins / sign_up, я получаю:

ActionController :: UrlGenerationError в Devise :: Sessions # new Показывает /Users/elizabethzweizig/Desktop/ecoCalculator/app/views/layouts/application.html.erb, где поднята строка # 61: Не найдено ни одного маршрута {: action => "index",: controller => "devise / posts"}

Это относится к части панели навигации Bootstrap, но сообщения не связаны с разработкой. Сообщения не принадлежат ни пользователям, ни администраторам.

Ниже приведен пример моего расширенного контроллера регистрации.

class AdminRegistrationsController < Devise::RegistrationsController

  private

  def sign_up_params
    params.require(:user).permit(:first_name, :last_name, :username, :hometown, :email, :password, :password_confirmation)
  end

  def account_update_params
    params.require(:user).permit(:first_name, :last_name, :username, :hometown, :email, :password, :password_confirmation, :current_password)
  end
end

А вот и мой файл route.rb

Rails.application.routes.draw do

  devise_for :users, :controllers => { registrations: 'registrations' } do
    resources :waterusage
  end

  devise_for :admins, :controllers => { admin_registrations: 'admin registrations' }

  get 'welcome/index'

  get 'waterusage/result' => "waterusages#results"
  resources :posts do
    resources :comms
  end

  resources :waterusages
  resources :goals

  get "myprofile" => "yours#profile", :as => :myprofile

  root 'welcome#index'

  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Я исправил проблему, в итоге я сделал полный сброс до последнего коммита, чтобы я мог более тщательно отслеживать свои изменения. Это на самом деле было связано с моей Bootstrap. Когда я редактировал файл application.html.erb, я переехал.

<%= csrf_meta_tags %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

Как только я добавил это обратно в проект. Устройство сработало снова.

0 голосов
/ 09 мая 2018

в пути

devise_for :admins, :controllers => { admin_registrations: 'admin registrations' }

это будет admin/registrations не admin registrations, измените это и посмотрите, что происходит

смотри формат

devise_for :users, :controllers => { registrations: 'users/registrations' } do
    resources :waterusage
end

devise_for :admins, :controllers => { registrations: 'admins/registrations' }

и проверьте app/assets/javascripts/application.js первые две строки должны

//= require jquery
//= require jquery_ujs

если существует require rails-ujs удалить это

...