我的注册控制器在哪里?

时间:2014-05-05 09:09:08

标签: ruby-on-rails devise

操作系统:Windows 8.1 Ruby 2.0.0 Rails 4.1 设计

创建应用程序后,我安装了Devise:

rails g devise:install
rails g devise:views

生成了设计视图。我没有的是控制器文件夹中的注册控制器。是不是设计应该创建一个注册控制器?

2 个答案:

答案 0 :(得分:1)

您可以使用Devise的默认控制器或添加自己的控制器。这是注册控制器的链接: https://github.com/plataformatec/devise/blob/master/app/controllers/devise/registrations_controller.rb

请记住,如果您计划将记录添加到用户模型,Devise会稍微区别对待操作。

如果您计划添加类似用户名的内容,则需要向注册控制器添加类似内容:

before_filter :update_sanitized_params, if: :devise_controller?

def update_sanitized_params
  devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:username,
                                                         :email,
                                                         :password,
                                                         :password_conf)}
end

您还需要将此添加到routes.rb:

devise_for :users, :controllers => {:registrations => "users/registrations"}

答案 1 :(得分:0)

Devise默认情况下不会为app生成控制器,app使用内置的devise控制器。如果您需要monkeypatch devise控制器need create them