3
date = Date.today     
query = "insert into custom_reports(name,description,created_at) values(#{report_name}, #{report_content}, #{date})"
ActiveRecord::Base.connection.execute(query);

それは挿入します

0000-00-00 00:00:00

そのため、mysql タイムスタンプの方法を考えました。することは可能ですか?

4

6 に答える 6

1

これはうまくいくはずです

query = "insert into custom_reports(name,description,created_at) values('#{report_name}', '#{report_content}', '#{Time.now}')"
于 2013-09-12T09:38:49.197 に答える
0

その SQL を手動で作成するのはなぜですか? クエリ内の文字列をエスケープしないため、これはより複雑で安全ではありません。反対側ActiveRecordでは、列の世話をしcreated_atます。

そのための基本的なモデルを用意したいと思います。

class CustomReport < ActiveRecord::Base
end

CustomRepor.create!(name: report_name, description: report_content)
于 2013-09-12T10:14:32.580 に答える
-1

タイムスタンプを日時形式に変更してみてください。

Time.at(1335437221) 

変換 2012-04-26 12:47:01 +0200

于 2013-09-12T12:42:13.523 に答える