2013-08-20 1 views
-1

Я хочу, чтобы выбрать только tp_info_false и tp_info_true столбцы из TestDescription таблицы, и я попытался следующие:Выбор только определенные столбцы из результирующего набора в Rails

использованием срывать:

td=TestDescription.where(test_point_id:test_point.id).pluck(:tp_info_true,:tp_info_false).first 

с помощью выбора:

td=TestDescription.where(test_point_id:test_point.id).select(:tp_info_true,:tp_info_false).first 

значение1 = тд [0] значение2 = тд [1]

Используя вышеупомянутые два метода, я получаю сообщение об ошибке «неправильное количество аргументов (2 для 1)». пожалуйста, исправьте мой запрос. Спасибо!

+0

сначала проверьте несколько ссылок: http://guides.rubyonrails.org/active_record_querying.html http://railscasts.com/episodes/215-advanced-queries-in-rails-3 http: // erniemiller. org/2010/03/28/advanced-activerecord-3-queries-with-arel/.. Если кто-то решит проблему для вас, вы не узнаете ее сами. – Mattherick

+0

Это так же, вы присваивая значения в вашем коде ..? –

+0

да ... используя возвращаемые значения из td [0], td [1] – user2569524

ответ

0

Вы должны использовать select, как:

TestDescription.select([:tp_info_false, :tp_info_true]) 

этот метод принимает только один аргумент. Если вы хотите выбрать более одного столбца, вам нужно поместить их имена в массив, как и я.