0

我想从我的 Rails 应用程序中删除注册页面,因为我只使用邀请系统,并且我已经读到我必须:registrable从我的用户模型中删除模块才能让我的注册页面消失......

当我这样做时,我收到以下错误:

NoMethodError in Devise::RegistrationsController#new

undefined method `new_with_session' for #<Class:0x007ffb53b8f820>

这是来自user.rb的设计线

devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable 
4

3 回答 3

1

我认为您还必须覆盖注册控制器。

class RegistrationsController < Devise::RegistrationsController
  def new
    flash[:info] = 'Registrations are not open yet, but please check back soon'
    redirect_to root_path
  end

  def create
    flash[:info] = 'Registrations are not open yet, but please check back soon'
    redirect_to root_path
  end
end

我只是通过 禁用生产环境的设计注册得到它

于 2012-07-31T22:45:36.417 回答
1

您只需要从模型中删除 :registrable 即可。描述的错误将发生,直到您重新启动应用程序

于 2013-08-23T12:47:14.207 回答
0

好吧,我知道现在已经有一段时间了,但这并不能阻止任何人遇到同样的问题,因为我几分钟前刚刚经历过。

最好的解决方案是在从您的模型中删除后重新启动您的应用程序:registrable

devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable, :registrable

变成

devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable.

但是,如果您仍然有点想带人们为什么 Sign Up 不可用,我会建议任何人接受已接受的答案。

谢谢。

于 2016-06-16T15:48:56.280 回答