index
eyleminden show.html.erb
görüntülemezseniz, gösterme eyleminde de @some_instance_variable
değerini ayarlamanız gerekir. Bir denetleyici eylemi çalıştırıldığında, eşleşen yöntemi çağırır - show
eylemi kullanırken index
yönteminizin içeriği çağrılmaz. Hem index
ve show
eylemlerde aynı şey @some_instance_variable
set gerekiyorsa
, doğru yolu örnek değişkeni ayarlar index
ve show
ikisi tarafından adlandırılan başka bir yöntemi, tanımlamak olacaktır.
def index
set_up_instance_variable
end
def show
set_up_instance_variable
end
private
def set_up_instance_variable
@some_instance_variable = foo
end
set_up_instance_variable
yöntem özel yapılması joker yolları varsa denetleyici eylem olarak adlandırılan önler (yani match ':controller(/:action(/:id(.:format)))'
)
TeşekkürlerEmily. Ama bunu yapmanın bir DRY-er yolu var mı? – Red
TeşekkürlerEmily ben de aynı şeyi arıyordum. Şerefe! – Aashish
Sadece 'before_action: set_up_instance_variable 'ı ekleyin, sadece: [: show,: index]' kontrol cihazına. Bu, belirttiğiniz işlemlerden önce "set_up_instance_variable" komutunu çalıştıracaktır. – domi91c