在Devise中为2个用户模型配置许可

时间:2014-06-17 13:09:24

标签: ruby-on-rails ruby ruby-on-rails-4 devise

我现在已经花了很多时间来讨论如何做到这一点。

我有2个型号。

intern.rb
company.rb

我已经能够在注册时添加自定义字段,对我而言:名称。我这样做是通过添加:

before_filter :configure_permitted_parameters, if: :devise_controller?

protected

def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |i| i.permit(:email, :password, :name) }
end

我一直在阅读设计自述文件,并尝试了解如何添加它以使其特定于一个用户模型。但我每次都会收到错误。

我尝试创建一个名为:

的控制器
interns_controller.rb

代码:

class Intern::ParameterSanitizer < Devise::ParameterSanitizer
 def sign_up
  default_params.permit(:email, :password, :name)
 end
end

然后将其添加到

application_controller.rb

代码:

protected

def devise_parameter_sanitizer
if resource_class == Intern
  Intern::ParameterSanitizer.new(Intern, :intern, params)
else
  super 
end
end

然而我收到了一个错误。我在这做错了什么? 图片有错误:http://s12.postimg.org/fqpwyzzdp/Screen_Shot_2014_06_17_at_15_41_58.png

0 个答案:

没有答案