Rails: sekitar_ * panggilan balik


Jawaban:


178

around_*callback dipanggil sebelum tindakan, lalu saat Anda ingin menjalankan tindakan itu sendiri, Anda yieldmelakukannya, lalu lanjutkan eksekusi. Itulah mengapa disebutaround

Pesanan seperti ini: before, around, after.

Jadi, tipikal around_saveakan terlihat seperti ini:

def around_save
   #do something...
   yield #saves
   #do something else...
end

4
Masuk akal dan tidak ada dalam panduan resmi Rails.
Dan S.

120

Callback around_ * dipanggil di sekitar aksi dan di dalam aksi before_ * dan after_ *. Sebagai contoh:

class User
  def before_save
    puts 'before save'
  end

  def after_save
    puts 'after_save'
  end

  def around_save
    puts 'in around save'
    yield # User saved
    puts 'out around save'
  end
end

User.save
  before save
  in around save
  out around save
  after_save
=> true

14
Bagi saya ini adalah jawaban yang paling mencerahkan . Terima kasih teman.
Arup Rakshit
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.