SORU
13 EKİM 2009, Salı


Ruby: birden fazla karma anahtarları sil

Ben sık sık bu kendimi yazarken

params.delete(:controller)  
params.delete(:action)  
params.delete(:other_key)  
redirect_to my_path(params)

Siler izi yok: ikisi de doğru gelmiyor

[:controller, :action, :other_key].each do |k|
  params.delete(k)
end

Bir şey daha basit ve daha temiz var mı?

CEVAP
13 EKİM 2009, Salı


ActiveSupport Karma ekler Hash#except yöntemin farkında olduğunu tahmin ediyorum.

Kodunuzu basitleştirilmiş için izin vermesi:

redirect_to my_path(params.except(:controller, :action, :other_key))

Ayrıca, Raylar takım senin için yaptım çünkü yama maymun, gerek kalmaz!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ampisound

    Ampisound

    12 Kasım 2006
  • Plugable

    Plugable

    19 Mayıs 2010
  • Sorikan

    Sorikan

    3 ŞUBAT 2008