解决方法
我有同样的问题,从来没有想到Rails内置的任何东西.所以我写了这个小方法.
@H_301_10@# 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助手插件.也许我会自己写一个.