基本的ActiveRecord查询返回不带引号的id,例如:
User.first.attributes => {“id”=> 2,...
在find_by_sql中,返回别名列,其值为引号,在这种情况下请参见id:
all = User.find_by_sql(“SELECT u.id as u_id from users u”)。first.attributes => { “U_ID”=> “中2”}
如何避免引用数值?
答案 0 :(得分:0)
find_by_sql按名称将返回的列映射到对象字段。如果在结果集中返回不同的列名,则Rails无法知道要返回的类型。 (因此它可以将所有内容映射到字符串 - 疯狂猜测)