1

レールでmongodbバックエンドのormとしてmongoidを使用しています。オブジェクトを作成できます (release_date は日付オブジェクトであることに注意してください)。

movie1 = Movie.create(title: "The Dark Knight", release_date: "2012-03-03")
=> #<Movie _id: 515490b884322b14e2000002, _type: "Movie", title: "The Dark Knight", release_date: 2012-03-03 00:00:00 UTC> 

しかし、それを使用しmovie.release_dateてハッシュに入れようとすると、日付が文字列として出力され、ハッシュを保存できません。

list.data[1] = {id: movie2.id, title: movie2.title, release_date: movie2.release_date}
 => {:id=>"515490ce84322b14e2000003", :title=>"The Matrix", :release_date=>Sat, 04 Apr 1998}

どんな種類の助けでも大歓迎です、ありがとう。

4

1 に答える 1

1

これは文字列ではありません。Rubyinspectはハッシュの各項目を呼び出して、人間が読み取れる値を表示しただけです。"日付前後はありませんのでご注意ください。

class Movie 
    include Mongoid::Document

    field :release_date, type: Date
end

movie1 = Movie.create(title: "The Dark Knight", release_date: "2012-03-03")
hash = {release_date: movie1.release_date}
p hash[:release_date].class # => Date
于 2013-04-01T12:44:46.627 に答える