2013-04-22 42 views
1

我使用的是Rails 3.2.11,mongoid 3.1.2和devise 2.2.3,我有一個帶有birtday Date字段的用戶模型。Rails + Mongoid + Devise:給註冊表添加生日字段

class User 
    include Mongoid::Document 

    field :birthday, type: Date 
    field :email, type: String, default: "" 
    field :encrypted_password, type: String, default: "" 
    field :remember_created_at, type: Time 

    attr_accessible :email, :password, :password_confirmation, :remember_me, :birthday 

    devise :database_authenticatable, :registerable, :rememberable, :validatable 

    validates_presence_of :email, :birthday 

    ... 
end 

我加了一個生日場寄存器形式如下:

f.input :birthday, :as => :date, :start_year => (Date.current - 5.year).year, :end_year => (Date.current - 120.year).year, :include_blank => true 

的問題是,當我註冊,我總是得到錯誤:生日不能爲空。

當我看我的日誌看:

Started POST "/users" for 127.0.0.1 at 2013-04-22 13:58:27 +0200 
Processing by Devise::RegistrationsController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"Cmjq47KqHWzEoytGxH+L5s5zbWrHYDZn221Dq6+wVQQ=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "birthday(3i)"=>"25", "birthday(2i)"=>"11", "birthday(1i)"=>"1984"} 

所以我不明白爲什麼它沒有任何工作機會不:( 我在Google上搜尋這幾個小時我雖然它可能來自。 mongoid的質量assignement或設計build_ressource,但我沒有找到任何解決方案是否已經得到這個問題

回答

1

你需要包括另一個模塊到你的模型類:?

Mongoid::MultiParameterAttributes 
+0

ŧ非常感謝你!它像一個魅力。他們應該增加「理由」:一些寶石,如設計需要它! http://mongoid.org/en/mongoid/docs/rails.html – XPac27 2013-04-22 17:09:19

相關問題