2 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
該方法helper_method將顯式共享控制器中定義的一些方法,以使它們可用于視圖。這用于您需要從控制器和助手/視圖訪問的任何方法(控制器中不提供標(biāo)準(zhǔn)助手方法)。例如常見用例:
#application_controller.rb
def current_user
@current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user
helper另一方面,該方法是將整個(gè)幫助程序?qū)氲娇刂破鳎捌淅^承的控制器)提供的視圖中。這意味著在做什么
# application_controller.rb
helper :all
對(duì)于Rails> 3.1
# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off
使所有幫助程序模塊可用于所有視圖(至少適用于從application_controller繼承的所有控制器)。
# home_controller.rb
helper UserHelper
使UserHelper方法可用于家庭控制器操作的視圖。這等效于:
# HomeHelper
include UserHelper

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
在Rails> = 3.1中,應(yīng)用程序控制器中的'helper:all'被application.rb中的'include_all_helpers'配置設(shè)置代替。
- 2 回答
- 0 關(guān)注
- 1091 瀏覽
添加回答
舉報(bào)