IT TIP

뷰에서 컨트롤러의 메서드를 호출 할 수 있습니까 (이상적으로 헬퍼에서 호출)?

itqueen 2020. 12. 13. 11:37
반응형

뷰에서 컨트롤러의 메서드를 호출 할 수 있습니까 (이상적으로 헬퍼에서 호출)?


Rails MVC에서 뷰에서 컨트롤러의 메서드를 호출 할 수 있습니까 (메서드가 도우미에서 호출 될 수 있으므로)? 그렇다면 어떻게?


답은 다음과 같습니다.

class MyController < ApplicationController
  def my_method
    # Lots of stuff
  end
  helper_method :my_method
end

그런 다음보기에서, 당신은 당신이 예상 정확히 ERB에서 참조 할 수 <%또는 <%=:

<% my_method %>

메소드를 "helper_method"로 선언하거나 다른 방법으로 헬퍼로 이동할 수 있습니다.

helper와 helper_method는 무엇을합니까?


이것을 시도한 적이 없지만 공용 메서드를 호출하는 것은 다음과 유사합니다.

@controller.public_method

및 개인 방법 :

@controller.send("private_method", args)

여기에서 자세한 내용보기


당신의 행동 도우미 방법을 사용하여 helper_method :your_action_name

class ApplicationController < ActionController::Base
  def foo
    # your foo logic
  end
  helper_method :foo

  def bar
    # your bar logic
  end
  helper_method :bar
end

또는 다음을 사용하여 도우미 방법으로 모든 작업을 수행 할 수도 있습니다. helper :all

 class ApplicationController < ActionController::Base
   helper :all

   def foo
    # your foo logic
   end

   def bar
    # your bar logic
   end
 end

두 경우 모두 모든 컨트롤러에서 foo 및 bar에 액세스 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/8906527/can-we-call-a-controllers-method-from-a-view-as-we-call-from-helper-ideally

반응형