我最近將一些模板從ERB轉換爲Haml。大多數情況下它變得更乾淨和更好,但按鈕定義開始吸引。動態獲取路徑路徑
我想這個
= link_to t('.new', :default => t("helpers.links.new")),
new_intern_path,
:class => 'btn btn-primary' if can? :create, Intern
轉換爲這樣的事情
= new_button Intern
我還有其他幾個實體之外Intern
因此所有其他頁面將從這受益。
所以,我輸入驗證碼
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
它的工作如預期。我只是不知道該呼叫(因爲它是邪惡的,所有這一切)。有一種更簡單,更邪惡的方式?
是的,這是好多了之前找出答案! –