Ruby on Rails 2.3.8: как мне сделать пользовательский запрос SQL, возвращаемый как объект / объект ActiveRecord, а не как хеш? - PullRequest
1 голос
/ 14 октября 2011

Le code:

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", я мог бы сделать что-то вроде:

a.name

как будто это был активный объект записи, а не

a["name"] 

, как я делаю в настоящее время с вышеуказанным хешем

Ответы [ 2 ]

3 голосов
/ 14 октября 2011

MyModel.find_by_sql("Le Query")

0 голосов
/ 14 октября 2011

Вы пробовали что-то подобное?

a = ModelName.new(ActiveRecord::Base.connection.select_all("Le Query"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...