2011-09-12 4 views
1

これは本当にシンプルだと確信していますが、何か不足しています。これはいつも前に働いていた。私はMongoid on Rails 3.1を使用しています。Railsの標準日付セレクタの結果、モデル内の日付の値が無制限になる

 
a = {"title"=>"bad2", "starts_at(1i)"=>"2011", "starts_at(2i)"=>"9", "starts_at(3i)"=>"12", "starts_at(4i)"=>"10", "starts_at(5i)"=>"49", "ends_at(1i)"=>"2011", "ends_at(2i)"=>"9", "ends_at(3i)"=>"12", "ends_at(4i)"=>"11", "ends_at(5i)"=>"49", "all_day"=>"0", "description"=>"foo2"} 
e = Event.new(a) 
=> #<Event _id: 4e6d765af11aac06e8000004, _type: nil, created_at: nil, updated_at: nil, title: "bad2", starts_at: nil, ends_at: nil, all_day: false, description: "foo2", starts_at(1i): "2011", starts_at(2i): "9", starts_at(3i): "12", starts_at(4i): "10", starts_at(5i): "49", ends_at(1i): "2011", ends_at(2i): "9", ends_at(3i): "12", ends_at(4i): "11", ends_at(5i): "49"> 
ruby-1.9.2-p290 :020 > e.valid? 
=> true 
ruby-1.9.2-p290 :021 > e.save 
=> true 
ruby-1.9.2-p290 :022 > e.starts_at 
=> nil 
ruby-1.9.2-p290 :023 > e.ends_at 
=> nil 

関連するすべてのコードはここにある:https://gist.github.com/1210498

答えて

5

マルチパラメータは、日付ヘルパーの仕事をするコード属性のActiveRecordから来て、元々Mongoidで実装されていませんでした。それは今ですが、明示的にそれを要求する必要があります。これは、それを使用しない人がパフォーマンスのペナルティを負わないためです。

class Event 
    include Mongoid::Document 
    include Mongoid::MultiParameterAttributes 
    ... 
end 

関連するコードはここにある:
https://github.com/mongoid/mongoid/blob/master/lib/mongoid/multi_parameter_attributes.rb

関連する問題