私はRails 3.2.11、mongoid 3.1.2、devise 2.2.3を使用しており、誕生日の日付フィールドを持つユーザーモデルを持っています。
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"=>"lalala@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "birthday(3i)"=>"25", "birthday(2i)"=>"11", "birthday(1i)"=>"1984"}
だから、なぜそれが機能していないのかわかりません:(私はこれを何時間もチャンスなしにグーグルで調べました。モンゴイドの大量割り当てまたはbuild_ressourceの工夫から来る可能性がありますが、解決策は見つかりませんでした.あなたはすでにこの問題を抱えていますか?