我Rails中學習了很多關於DRY概念所以這裏是我的問題:Rails全局變量去哪裏?
我在我的應用程序的固定側邊欄總是需要加載不同的對象,如Locations
。
在與我的index
頁面控制器,居然在controllers/pages_controller.rb
我加載@locations
:
@company = current_user.company
@locations = if @company
current_user.company.locations.order(:name)
else
[]
end
一次我選擇一個位置和裝載,然而其工作正常,我的導航菜單(邊欄)查看委託從不同的控制器(在這種情況下,locations/show.html.erb
)我的@locations
變量不再被發現。
當然,我可以把它添加到show
方法在我locations_controller.rb
文件,但不是很乾考慮我不得不把上面的代碼中依賴的側邊欄導航菜單上的每一個控制器方法(全)因爲它是固定的。
什麼是幹這種方式做一次,而不必在每個控制器做到這一點?
**就作爲說明:Rails 5使用'before_action'回調代替,因爲'before_filter'現在已被棄用。 – bntzio