3
activerecordオブジェクトがある場合、レコードを保存する前にに挿入される対応するSQL値を取得する方法がありますか??たとえば、datetime型の列がある場合、それは何らかの文字列形式に変換され、json属性もシリアル化されるため、これらの値を事前に知る方法はありますか?対応するSQL値に対応する有効レコード属性を取得する方法
activerecordオブジェクトがある場合、レコードを保存する前にに挿入される対応するSQL値を取得する方法がありますか??たとえば、datetime型の列がある場合、それは何らかの文字列形式に変換され、json属性もシリアル化されるため、これらの値を事前に知る方法はありますか?対応するSQL値に対応する有効レコード属性を取得する方法
私はそれを見つけたと思う:)
最初のデータベースの値を取得し、それを引用します。
は、我々は本モデルがあるとします。ブック(タイトル、published_at、...)
book = Book.new(title: "Some title", published_at: Time.now)
value_for_database = book.instance_eval("@attributes")["published_at"].value_for_database
quoted_value = Book.connection.quote(value_for_database)
quoted_value
は今、私は:)
素晴らしい!偉大な研究、+1 –
はいを必要とするSQL値が含まれていますが、AREL掘り下げなければならないだろうActiveRecordが本当にこの機能を持っていないので、どのようにレールがクエリを実行するのですか? https://www.viget.com/articles/composable-sql-queries-in-rails-using-arel – max
アドバイスをありがとう、私の質問のための私の答えを確認してください:) –