我正在尝试从Devise中删除/禁用user/sign_up
路径。我这样做是因为我不希望随便的人都可以访问该应用程序。我通过在route.rb中添加以下内容来部分工作
Rails.application.routes.draw do
devise_scope :user do
get "/sign_in" => "devise/sessions#new" # custom path to login/sign_in
get "/sign_up" => "devise/registrations#new", as: "new_user_registration" # custom path to sign_up/registration
end
...
devise_for :users, :skip => :registration
end
但是,这会破坏<%= link_to "Profile", edit_user_registration_path, class: "btn btn-info btn-flat" %>
我想保留该信息,以便用户可以更新其个人资料。我知道是因为
devise_for :users, :skip => :registration
这个问题有解决方案吗?跑步
设计(4.2.0、4.1.1、4.1.0)
导轨4.2.5
ruby 2.3.0p0(2015-12-25修订版53290)[x86_64-linux]
最佳答案
最简单的方法是从模型中定义的默认列表(用于应用程序用户的类名,通常是用户)中删除:registerable
devise模块。
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
...
end
因此,您将像这样:class User < ActiveRecord::Base
devise :database_authenticatable,
:recoverable, :rememberable, :trackable, :validatable
...
end
关于ruby-on-rails - 如何从设计中删除/禁用注册,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39773890/