2013-05-13 1 views
0

У меня есть модель в рельсах под названием campaign, и еще один называется exportActive Record не может создать ребенка, ребенок всегда ноль

class Campaign < ActiveRecord::Base 
    has_one :export 
end 

class Export < ActiveRecord::Base 
    belongs_to :campaign 
end 

то у меня есть код:

if campaign.export.nil? 
    campaign.create_export(:tag => 'newtag') 
end 

Этот код создайте новую линию для экспорта снова и снова, потому что campaign.export всегда nil.

Почему я создал экспорт по campaign.create_export(), но campaign.export по-прежнему nil.

ответ

1

Мое предположение заключается в том, что ваши проверки на экспорт препятствуют созданию экспорта. Если вы вызываете create_<model>, и проверки не пройдут, у него будет копия модели, которая не была сохранена с валидациями

+0

спасибо! Я пытаюсь отлаживать «экспорт». после создания, я могу отслеживать информацию, она не сохраняется, , потому что у модели есть специальная строка: has_one: export,: conditions => ["tag IS?", Nil] – twindai

Смежные вопросы