假設我有一個基本的控制器一些邏輯將信息傳遞給視圖建立的東西像一個麪包屑:過濾器在渲染之前但在控制器之後執行?
class ContextAwareController < ApplicationController
after_filter :build_breadcrumb
def build_breadcumb
#...
end
end
我想這build_breadcrumb方法主控制器邏輯後運行,但以前視圖被渲染。
上述代碼運行得太晚,但before_filter會太早。
任何人都可以建議的方式來實現這一點,而不在每個子控制器的行動結束顯式調用build_breadcumb?
感謝
但是這種解決方案會減慢每個渲染速度。 – freemanoid 2013-06-04 13:10:52
它只會減慢從特定控制器製作的渲染速度。將它移動到不同的控制器或「子控制器」是很容易的,這樣只有需要麪包屑的動作才能使用此版本的「render」。 – Jon 2013-07-08 14:59:16
我們也可以使用一個控制器來關注添加此功能選擇 http://elegantbrew.tumblr.com/post/70990048275/controller-concerns-in-rails-4 – MhdSyrwan 2016-01-08 14:28:41