詳細な Arel ドキュメントを見つけようとしましたが、無駄でした。最後に、ソースコードを掘り下げてみたところ、
次のように動作します (最後の to_sql に注意してください)。
Arel::Nodes::NamedFunction.new('to_char', Audit.arel_table[:created_at], 'dd-mm-yyyy').to_sql
そして、次のように動作します。
tzdate = Arel::Nodes::InfixOperation.new('at time zone', Arel::Nodes::InfixOperation.new('at time zone', Audits.arel_table[:created_at], 'gmt'), Time.zone.tzinfo.name)
以下は、次の理由により機能しません (最後の to_sql に注意してください) TypeError: Cannot visit Arel::Nodes::InfixOperation
。
Arel::Nodes::NamedFunction.new('to_char', [tzdate, 'dd-mm-yyyy']).to_sql
ここで何が起こっているのか誰か教えてもらえますか?