2013-10-24 45 views
0

看来,我添加了自定义输入区没有被列入白名单(显示在提交空白验证错误)。设计的强大的参数是不是一个白名单现场输入

这里的控制器:

class AccountsController < ApplicationController 

    before_filter :configure_permitted_parameters, if: :devise_controller? 

    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) << :name 
    end 
end 

它基本上是从设计的文档副本 - 过去,但它不是在所有工作(即,不是我的白名单自定义输入区)。

UPDATE:
这里的形式:

<h2>Sign up</h2> 

<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> 
    <%= f.error_notification %> 

    <div class="form-inputs"> 

    <%= f.input :name %> 
    <%= f.input :email %> 
    <%= f.input :password %> 
    <%= f.input :password_confirmation %> 
    </div> 

    <div class="form-actions"> 
    <%= f.button :submit, "Sign up" %> 
    </div> 
<% end %> 

<%= render "accounts/shared/links" %> 

回答

0

试试这个:

devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:name) } 
+0

同样的结果,它不工作。 – Abdulaziz

0

试试这个,我希望它会帮助你解决您的问题。

class ApplicationController < ActionController::Base 
    # Prevent CSRF attacks by raising an exception. 
    # For APIs, you may want to use :null_session instead. 

    before_filter :configure_permitted_parameters, if: :devise_controller? 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:firstname, :lastname, :email, :password, :password_confirmation) } #here you can permit custom fields. 
    end 

    protect_from_forgery with: :exception 
end 
+0

我试了一下,这是行不通的 – Abdulaziz

+0

发表您的色器件登记表 –

+0

检查我更新的问题,请。 – Abdulaziz

相关问题