2014-01-16 88 views
0

我正在使用Rails 4和設計(3.2.2)。但是,當我試圖註冊,我得到異常設計 - 未定義的方法`stringify_keys'爲[:email,:password,:password_confirmation]:Array

未定義的方法`stringify_keys'爲[:電子郵件,:密碼, :password_confirmation]:數組

下面的方法,我我正在獲得例外。

def build_resource(hash=nil) 
    self.resource = resource_class.new_with_session(hash || {}, session) 
end 

我已經檢查的hash該值[:email, :password, :password_confirmation],它不應該是一個散列,而不是數組?

任何幫助,將不勝感激,謝謝。

回答

0

它應該是。在默認Devise::RegistrationsController,在create動作的第一行是

build_resource(sign_up_params)

sign_up_params方法應該返回准許請求參數進行註冊;默認情況下這些將是emailpasswordpassword_confirmation

你必須改變默認值。你是否更改過允許的參數(例如,通過configure_permitted_parametersApplicationController?)?您是否覆蓋了註冊控制器上的create操作?你是否重寫了sign_up_params方法?

需要更多信息才能給出明確的答案,但這些是需要查看的地方。

+0

我的壞,我已經覆蓋註冊控制器,當我的寶石版本是3.0,現在它的3.2.2 –

相關問題