복붙노트

[RUBY-ON-RAILS] 무엇 도우미 수행하고 helper_method은 무엇입니까?

RUBY-ON-RAILS

무엇 도우미 수행하고 helper_method은 무엇입니까?

helper_method은 간단합니다 : 그것은보기에 사용할 수있는 컨트롤러의 방법의 일부 또는 전부를한다.

도우미는 무엇입니까? 그것은 주변의 다른 방법, 즉,이 파일이나 모듈에 도우미 메서드를 가져옵니다인가? (아마 이름 도우미와 helper_method가 모두 있습니다. 그들은 오히려 대신 share_methods_with_view 및 import_methods_from_view 수 있습니다)

참고

해결법

  1. ==============================

    1.메소드 helper_method 명시 적으로 뷰에서 사용할 수 있도록 컨트롤러에 정의 된 몇 가지 방법을 공유하는 것입니다. 이것은 당신이 컨트롤러와 헬퍼 / 조회수 (표준 도우미 메서드는 컨트롤러에서 사용할 수 없습니다) 모두에서 액세스해야하는 것이 어떤 방법을 사용합니다. 예를 들면 일반적인 사용 사례 :

    메소드 helper_method 명시 적으로 뷰에서 사용할 수 있도록 컨트롤러에 정의 된 몇 가지 방법을 공유하는 것입니다. 이것은 당신이 컨트롤러와 헬퍼 / 조회수 (표준 도우미 메서드는 컨트롤러에서 사용할 수 없습니다) 모두에서 액세스해야하는 것이 어떤 방법을 사용합니다. 예를 들면 일반적인 사용 사례 :

    #application_controller.rb
    def current_user
      @current_user ||= User.find_by_id!(session[:user_id])
    end
    helper_method :current_user
    

    한편 헬퍼있어서, 상기 제어부에 의해 제공되는 뷰에 전체 헬퍼를 가져올 것이다 (그리고 컨트롤러 상속 것). 이게 무슨 의미가하고있는

    # application_controller.rb
    helper :all
    

    레일> 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
    
  2. from https://stackoverflow.com/questions/3992659/what-do-helper-and-helper-method-do by cc-by-sa and MIT license