Metode helper_methodini untuk secara eksplisit berbagi beberapa metode yang didefinisikan dalam pengontrol untuk membuatnya tersedia untuk dilihat. Ini digunakan untuk metode apa pun yang perlu Anda akses dari pengontrol dan pembantu / tampilan (metode pembantu standar tidak tersedia di pengontrol). mis. kasus penggunaan umum:
#application_controller.rb
def current_user
@current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user
yang helpermetode di sisi lain, adalah untuk mengimpor seluruh pembantu untuk pandangan yang diberikan oleh controller (dan itu diwariskan pengendali). Apa artinya ini lakukan
# application_controller.rb
helper :all
Untuk 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
membuat semua modul pembantu tersedia untuk semua tampilan (setidaknya untuk semua pengontrol yang diwarisi dari application_controller.
# home_controller.rb
helper UserHelper
membuat metode UserHelper tersedia untuk dilihat untuk tindakan pengontrol rumah. Ini sama dengan melakukan:
# HomeHelper
include UserHelper