Mysql RubyonRails 2.3.8:如何执行作为object/ActiveRecord对象而不是散列返回的自定义SQL查询?

Mysql RubyonRails 2.3.8:如何执行作为object/ActiveRecord对象而不是散列返回的自定义SQL查询?,mysql,ruby-on-rails,activerecord,Mysql,Ruby On Rails,Activerecord,Le代码: ActiveRecord::Base.connection.select_all("Le Query") 上述操作将返回如下格式的哈希: {"name"=>"title", "sequence"=>"0", "body"=>"", "section_id"=>"74", "id"=>"325", "revision"=>"2"} 现在,通常情况下,如果只执行ModelName.find(conditions),我会得到如下结果: #<Ob

Le代码:

ActiveRecord::Base.connection.select_all("Le Query")
上述操作将返回如下格式的哈希:

{"name"=>"title", "sequence"=>"0", "body"=>"", "section_id"=>"74", "id"=>"325", "revision"=>"2"}
现在,通常情况下,如果只执行
ModelName.find(conditions)
,我会得到如下结果:

#<ObjectName id: 272, name: "title", body: "", sequence: 0, section_id: 89, revision: 0>
就像它是一个活动记录对象,而不是

a["name"] 

正如我目前使用上述散列所做的那样,您是否尝试过类似的操作

a = ModelName.new(ActiveRecord::Base.connection.select_all("Le Query"))

MyModel.通过sql(“Le查询”)查找

啊,有点像。它不允许我设置ID。。。我需要这样做的意见,并为我的整个功能是干。错误:警告:无法批量分配这些受保护的属性:我尝试将id从哈希中拉出,然后将其设置到对象中?
a = ModelName.new(ActiveRecord::Base.connection.select_all("Le Query"))