मुझे एक ही समस्या थी और रेल में बनाई गई किसी भी चीज़ के साथ कभी नहीं आया। इसलिए मैंने यह छोटा सा तरीका लिखा है।
# 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 अभिव्यक्तियों को प्रारूपित कर सके। शायद मैं खुद एक लिखूंगा।