Rails не может загрузить данные из приборов, которые имеют отношения HABTM - PullRequest
0 голосов
/ 05 ноября 2010

Я новичок в рельсах и тестировании и у меня проблема с загрузкой моих приборов.

payment.yml
оплата:
имя: что-то
сумма: 1,5
событие: some_event
пользователь: some_user
описание: длинный текст
пользователи: some_user, some_user2


users.yml
some_user:
электронная почта: test@test.com ник: имя

some_user2:
электронная почта: test@test.com
ник: имя

Окей, проблема в том, что когда я выполняю функциональный тест для создания платежа

тест "должен создать платеж" сделать
assert_difference ('Payment.count') do
post: create,: payment => @ payment.attributes
конец

просто отправляет

<Идентификатор платежа: ноль, имя: «что-то», сумма: 1,5, идентификатор события: 972288058, идентификатор пользователя: 63246679, создан: «2010-11-05 19:56:53», обновлен: «2010-11-05 19:56:53 ", описание:" длинный текст ">

, а не массив пользователей с несколькими пользователями. Я использую «пользователь», чтобы определить, кому принадлежит платеж, и пользователей (в отдельной таблице соединений) в качестве списка пользователей, разделяющих платеж.

Есть идеи, что я делаю не так?

вот модель для платежей

класс Payment has_many: комментарии,: as =>: комментируемые,: зависимые =>: уничтожить
принадлежат: событие
принадлежат: пользователь
has_and_belongs_to_many: пользователи
конец

1 Ответ

1 голос
/ 05 ноября 2010

Можете ли вы поставить модель на оплату?У меня было что-то похожее, и проблема была в том, что модель была другой.Например, если это класс ActiveRecord, вы должны проверить, как он и его отношения.Например, если событие на самом деле является «event_id», принадлежащим классу «event», то вы должны поместить нечто похожее на это:

...