Metode helper_method
ini 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 helper
metode 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