2015-01-10 29 views
0

我有一個Rails 4.1.1項目,; -accepts_nested_attributes_for在最近的Rails

MyModel 
has_many :sub_models,inverse_of: my_model 
accepts_nested_attributes_for :sub_models 
end 

MySubModel 
belongs_to: my_model,inverse_of: :sub_models 
validates :my_model_id,presence: true 
end 

我使用accepts_nested_attributes創建父對象和子對象都在一個呼叫。它工作出色。如此出色,我不必考慮它,它只是起作用。

現在我已經開始了一個Rails 4.1.8項目和類似的代碼根本不工作。看來在

def create 
@myModel = MyModel.new(model_params) 
@myModel.save 
etc 

子對象被保存在父項之前,因此它爆炸,因爲父鍵沒有被分配。

在4.1.1和4.1.8之間的Rails內部有一些變化,以便在master被保存之前構建has_many關係中的子對象?

+0

我通過使用參數減去嵌套的子屬性創建主服務器,然後使用整套參數更新主服務器,從而得到了解決方法。但我不應該做這樣一個hacky解決方法。我不在Rails 4.1.1中 –

+0

你能提供'model_params'方法嗎? – kurenn

+0

驗證是否存在my_model而不是my_model標識。如果對象在那裏,它應該通過驗證。那麼父母或孩子是否先保存並不重要。 – w1zeman1p

回答

1

驗證是否存在my_model而不是my_model id。如果對象在那裏,它應該通過驗證。那麼父母或孩子是否先保存並不重要。

相關問題