oluşturmak yürütülmesi dizisi I Kullanıcı has_one :user_profile
ve Kullanıcıprofili belongs_to :user
ile User
ve UserProfile
modelinin basit bir kurulum ile var.Raylar - sonra geri arama ve iç içe özelliklerini
Ancak, raylarım, modelimde tanımlanan after_create
geri arama ve accepts_nested_attributes_for
yürütme sırasını nasıl tanımladığı konusunda kafamı kapatamıyorum. Bu iki vakayı ele alalım.
Durum 1: Ben konsolu üzerinden (user_profile_attributes çok karma ile birlikte) bir kullanıcı oluşturursanız Şimdi
class User < ActiveRecord::Base
has_one :user_profile
accepts_nested_attributes_for :user_profile
after_create :test_test
end
, after_create
geri arama kullanıcıya sonra tetiklenir ve kullanıcı profili oluşturulur.
Durum 2: after_create
class User < ActiveRecord::Base
after_create :test_test
has_one :user_profile
accepts_nested_attributes_for :user_profile
end
geri arama, bir kullanıcı oluşturulduktan sonra tetiklenen ancak bir kullanıcı profili oluşturmadan önce edilir tepesinde yer almaktadır edin.
o işlevi görecek bu şekilde mi. Rails dahili olarak burada ne yapıyor? Uygulama sırası, kod sırasına göre belirlenir mi?
nereden bu işe veya hata ayıklama derin kazmak başlar?
yine bu test olacağını, geri aramaları şeklinde kod sırası yürütme amacıyla .. – Rabbott
@Rabbott ile ilgisi yoktur! – prasvin
'inverse_of' işlevinin kullanılması, bağımlılıkları çözmek ve kaydetme veya kaydetme ile ilgili sorunları kaydetmede yararlı olabilir. Örneğin. has_one: user_profile, inverse_of:: kullanıcı ' – ybart