Kısa süre önce bazı şablonlarım ERB'den Haml'a dönüştürdüm. Çoğunlukla daha temiz ve güzel hale geldi, ama düğme tanımları emmeye başladı.Rota yolunu dinamik olarak alın
ben çok tüm diğer sayfalar da bu yararlanacak Intern
yanında diğer bazı varlıklara sahip bu
= new_button Intern
gibi bir şey bu
= link_to t('.new', :default => t("helpers.links.new")),
new_intern_path,
:class => 'btn btn-primary' if can? :create, Intern
dönüştürmek istiyorum.
Yani, beklendiği gibi çalışıyor bu kodu
def new_button(person_class)
return unless can?(:create, person_class)
new_route_method = eval("new_#{person_class.name.tableize}_path")
link_to t('.new', :default => t("helpers.links.new")),
new_route_method,
:class => 'btn btn-primary'
end
yazdınız. Ben sadece bu eval
çağrı hakkında emin değilim (çünkü kötülük ve tüm bu). Daha basit ve daha az kötü bir yolu var mı?
def edit_button(person)
return unless can?(:edit, person)
link_to t('.edit', :default => t("helpers.links.edit")),
send("edit_#{person.class.name.singularize.underscore}_path", person),
:class => 'btn btn-mini'
end
yanıtlamadan önce anlamaya: Bununla beraber
, kod aşağıdaki gibi görünebilir! –