Марко, я немного подумал об этом, и у меня есть несколько догадок, чтобы вы попробовали.Прежде чем сделать что-либо из этого, перезапустите приложение.Иногда это делает чудеса.
heroku restart
Хорошо, теперь попробуйте в консоли просто
@customer.responses
Что это возвращает?Я предполагаю, что это должно быть []
.Может быть, сделать некоторые проверки и т. Д. Это может дать нам понимание здесь.Если вы создаете и связываете ответ вручную, вы можете заставить его отображаться?
Во-вторых, ошибка, связанная с отсутствием метода, связана с responses
, а не с create
, поэтому, что бы вы ни вводили после этого, вероятно, нетважно, НО, ваши offer_id
и digit
поля являются целыми числами?Если это так, попробуйте создать их, используя целые числа, а не строки.PostgreSQL настолько хрупок по сравнению с MySQL или SQLite, у меня было множество проблем, связанных с моей незнакомой работой с Postgre до разработки на Heroku.
@customer.responses.create(:offer_id=>1,:digit=>3)
Это, вероятно, не имеет значения, но оно того стоитпроверка.
Другая вещь, которую нужно проверить, - это все ваши обратные вызовы и проверки и т.д.Это может показаться не связанным, но у меня раньше были проблемы, когда все происходило очень странно из-за, казалось бы, крошечных тихих сбоев в обратном вызове, который я пропустил.Я уверен, что вы тестируете по ходу дела, но если у вас есть небольшое тестовое покрытие где-нибудь на этой модели, вы могли бы также использовать эту охоту за ошибками как шанс усилить ее:)
Симпатии наошибка, я не знаю, поможет ли это, но удачи!Пожалуйста, напишите, если сотрудники Heroku обнаружат проблему, мне было бы очень интересно узнать из нее!