перенаправить после входа в рельсы на нужную страницу - PullRequest
0 голосов
/ 30 октября 2019

ниже моего контроллера приложения и маршрутов, обычно, когда я открываю localhost: 3000, он показывает мне позиции / новую страницу, теперь я перенаправлен на страницу входа, что хорошо, но после входа в систему он ничего не делает .... в то время как он должен быть направлен на «позиции # новые»

class ApplicationController < ActionController::Base
  before_action :authenticate_user!
end

routes:
Rails.application.routes.draw do
  devise_for :users

  root to: 'positions#new'

resources :positions

end

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Если вы используете Devise, вам нужно переписать after_sign_in_path метод в вашем SessionsController < Devise::SessionsController

def after_sign_in_path "/positions/new" end

Ваш SessionController должен выглядеть следующим образом:

class SessionsController < Devise::SessionsController

  private

  def after_sign_in_path_for(resource)
    "/positions/new"
  end
end 
0 голосов
/ 31 октября 2019

Я добавил контроллер сессий, но он ничего не меняет. Я также проверил это в

pry: ➜  positionupdate git:(master) ✗ rails c
[1] pry(main)> User.count
   (0.7ms)  SELECT COUNT(*) FROM "users"
=> 0

, но я даю 0 пользователей, когда я вошел в систему / вверх и у меня есть тестовый пользователь в моих семенах, и я запустил рельсы db: drop db: create db migrate db: seed

ниже моих семян

User.destroy_all

puts 'Creating user...'
users_attributes = [
  {
    email:         'barcelona@vt.nl',
    password:      '******',
    barge_name:  'Barcelona',

  },

]
User.create!(users_attributes)
puts 'Finished!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...