Rails 3.1 не работает ассоциация сборки - PullRequest
0 голосов
/ 12 июля 2011

Хорошо, поэтому у меня есть метод, который должен возвращать пакет (service_package_id и payment_plan_id), которые передаются и действительны.Модель пакетов относится как к пакетам услуг, так и к планам оплаты, и у каждой из этих моделей есть много пакетов.

@service_package = ServicePackage.find(service_package_id)
@payment_plan = PaymentPlan.find(payment_plan_id)   

@package = @service_package.packages.build(:payment_plan_id => @payment_plan, :promo_code => "149", :price => "7.99", :number_of_free_days => "30", :setup_fee => "0", :initial_price => "0.00", :initial_price_duration => "30", :final_price => "0")
logger.error "package #{@package.service_package_id}"
@spackage = @package.service_package 
logger.error "spackage #{@spackage.description}"

Все прекрасно до строки @spackage.Регистратор забирает service_package_id, но затем, когда происходит следующий журнал, он возвращается с nomethoderror в классе nil.Почему мой @spackage ноль?Это работает на рельсах 3.0.9, но не 3.1 rc4 по крайней мере на моей машине разработчика.Есть мысли?

1 Ответ

0 голосов
/ 13 июля 2011

Понял.

Основная проблема здесь заключалась в том, что модель не попала в базу данных (специально), но я настроил методы attr_accessor для payment_plan_id и service_package_id.Поскольку я передавал весь объект в атрибут id, этот атрибут фактически содержал весь атрибут в памяти.Как только он начинает попадать в базу данных, сборка должна работать

...