Разработать Invitable контроллер, похоже, не удалось? - PullRequest
0 голосов
/ 29 октября 2019

Я установил devise-invitable и с помощью стандартного devise-invitable контроллера (который я не генерировал) он функционирует должным образом. Однако, когда я попытался сгенерировать пользовательский контроллер для devise-invitable, я столкнулся с некоторыми проблемами. Пожалуйста, найдите ниже шаги, которые я предпринял.

Шаги, которые я предпринял для генерации контроллера

  1. Следуя документации устройства, я попытался сгенерировать контроллер приглашений через консоль, которая завершилась неудачно:
rails generate devise:controllers users -c=invitations 

Running via Spring preloader in process 64830 
Could not find "invitations_controller.rb" in any of your source paths. Your current source paths are: 
/Users/name/code/name/app/lib/templates/devise/controllers 
/Users/name/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/devise-4.7.0/lib/generators/templates/controllers
Когда это не сработало, я вручную попытался внедрить:
  • контроллер в папке, где были сгенерированы все остальные контроллеры devise
  • Добавление контроллера приглашений в rout.rb

=> Похоже, это тоже не сработало, потому что я попытался сломать контроллер, чтобы увидеть, был ли он достигнут, но он не сломался.

controllers / users / invitations_controller.rb

class Users::InvitationsController < Devise::InvitationsController
  def new
    @hotel = Hotel.find(params[:park_id])
    @user = User.new
    @user.hotel = @hotel
    text to cause an error message
  end
end

rout.rb

Rails.application.routes.draw do
  devise_for :users, controllers: {
    sessions: 'users/invitations'
  }

1 Ответ

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

Проблема в ваших маршрутах, поскольку приглашение не является сеансом.

Если вы измените сеансы на приглашения в своих маршрутах, то оно попадет в контроллер пользователей / приглашений.

# routes.rb
Rails.application.routes.draw do
  devise_for :users, controllers: {
    invitations: 'users/invitations'
  }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...