Сделать массив в рельсах показывать только цифры - PullRequest
1 голос
/ 01 апреля 2011

У меня есть массив, который я строю так:

Post.where(:user_id => current_user.id, :status_id => 2).select(:id).inspect.to_a

когда я печатаю переменную, я получаю это:

[#<Post id: 70>, #<Post id: 44>]

Я бы хотел, чтобы это было:

[70, 44]

Что мне здесь делать?

Ответы [ 2 ]

8 голосов
/ 01 апреля 2011

Вы можете сделать это:

Post.where(:user_id => current_user.id, :status_id => 2).select(:id).map(&:id)

Причина, по которой все еще полезно хранить оператор select, заключается в том, что он уменьшает объем данных, которые вы возвращаете из базы данных. Даже если тот же оператор будет работать без явного выбора, его более эффективно использовать.

1 голос
/ 01 апреля 2011
Post.where(:user_id => current_user.id, :status_id => 2).map {|p| p.id }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...