2014-10-26 62 views
0

我添加了一個用戶名:字符串屬性默認Devise生成的用戶模型(以及在設計新/編輯註冊表單字段),並且它不會成功地使用戶的用戶名任何東西除了無,但提交編輯或新表單時沒有錯誤。設計生成的用戶模型的不成功的定製

<div><%= f.label :username %><br /> 
<%= f.text_field :username, autofocus: true %></div> 

我創造了另一個用戶控制器,並賦予它強大的參數與用戶名屬性進行了入店,我也做了:通過註冊控制器,擴展了設計:: RegistrationsController用戶名訪問

什麼立場/接受的方式來編輯您的Devise生成的用戶模型?

+1

結帳https://github.com/plataformatec/devise#strong-parameters – Mandeep 2014-10-26 17:29:30

回答

0

您對此的sanitize方法和行動之前添加到您的應用程序控制器:

before_action :configure_permitted_parameters, if: :devise_controller? 

    def configure_permitted_parameters 
     [:sign_up, :account_update].each do |action| 
      devise_parameter_sanitizer.for(action).push(:user_name) 
     end 
    end 
+0

行動只是行動,還是應該是新的或編輯,如果這些是我正在使用的行動? – 2014-10-26 18:51:35

+1

只需在應用程序控制器中執行操作。您應該能夠複製並粘貼該代碼 – Joel 2014-10-26 18:54:50

0

根據devise documentation這應該爲你工作:

class ApplicationController < ActionController::Base 
    before_action :configure_permitted_parameters, if: :devise_controller? 

    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up, :update) << :username 
    end 
end 

注:本應在完成應用控制器。

希望它有幫助。