私は同じ問題を抱えていて、Railsに組み込まれているものを思い付くことはありませんでした。だから私はこの小さな方法を書きました。
# Symbols should be used for field names, everything else will be quoted as a string
def db_concat(*args)
adapter = configurations[RAILS_ENV]['adapter'].to_sym
args.map!{ |arg| arg.class==Symbol ? arg.to_s : "'#{arg}'" }
case adapter
when :mysql
"CONCAT(#{args.join(',')})"
when :sqlserver
args.join('+')
else
args.join('||')
end
end
現在のアダプターの正しい関数または演算子を使用して、単純なSQL式を自動的にフォーマットできるSQLヘルパープラグインを誰かが実際に作成する必要があると思います。自分で書くかもしれません。