2013-05-13 16 views

cevap

452

biz seeActionController::Base yılında, before_action sadece before_filter için new syntax olduğu gibi.

Ancak tüm before_filters sözdizimi are deprecatedyılında Raylar 5.0 ve Raylar 5.1

+0

Ama Raylar 4 stabil hale geldiğinde depracating düşünebilirsiniz ... Bir yandan kullanımdan kaldırıyor On –

+38

sahiptir duyu ama üzerinde diğeri de raylarda ve yakutta bir yöntem için çeşitli takma adlara sahip olmak için iyi bir uygulama vardır, böylece anlamsız bir şekilde farklı bağlamlarda kullanabilirsiniz. 4.2 yılında – freemanoid

+4

Onlar küçümseyen, ancak önerilmez çünkü dokümanlar çıkarmadan değildir. http://edgeguides.rubyonrails.org/4_2_release_notes.html#action-pack-notable-changes – onetwopunch

26

Bu sadece bir isim değişikliği olduğu kaldırılacaktır. before_action daha spesifiktir, çünkü bir eylemden önce yürütülür.

58

Bu rayların içinde,, göstermek güncelleştirme, düzenlemeyi, yok yaratmak orada CRUD ve yedi eylemler temelde adı endeksi, yeni, tarafından app, sadece sözdizimi farktır .

Raylar 4

dost geliştirici eylem önce için filtrenin önce sözdizimi değiştirmeye olun.

before_action :set_event, only: [:show, :update, :destroy, :edit] 

set_event gibi biz ilan eylemler, gösteri, güncelleme, düzenleme öncesi zaman arayabilir ve yok edecek bir yöntemdir

before_action çağrı yöntemi daha önce.

-1

Before_action ile before_filter arasındaki farkın ne olduğunu anlamak için, eylem ile filtre arasındaki farkı anlamalıyız.

bir eylem için her yol için bir kontrol için bir yöntemdir. Örneğin , kullanıcı oluşturma sayfası UsersController # yeni yönlendirilir olabilir - yeni bu rotada eylemdir. sonra veya çevrelerindeki önce -

Filtreler eylemleri kontrolöre açıdan çalıştırın. Bu yöntemler yönlendirme veya kontrol her harekete geçirici ortak verileri ayarlamak aksiyon işleme durdurabilir.

Raylar 4 -> _action

Raylar 3 -> _filter