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

実稼働環境でのみDevise登録を無効にすることで取得しました

于 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

しかし、それでもサインアップが利用できない理由を人に伝えたい場合は、受け入れられた答えを使用するようにアドバイスします。

ありがとう。

于 2016-06-16T15:48:56.280 に答える