[RUBY-ON-RAILS] (우리가 이상적으로 도우미에서 전화로) 우리는보기에서 컨트롤러의 메소드를 호출 할 수 있습니까?
RUBY-ON-RAILS(우리가 이상적으로 도우미에서 전화로) 우리는보기에서 컨트롤러의 메소드를 호출 할 수 있습니까?
레일 MVC에서는 (방법은 도우미에서 전화 호출 할 수 있기 때문에) 뷰에서 컨트롤러의 메소드를 호출 할 수 있습니까? 예라면, 어떻게?
해결법
-
==============================
1.여기에 대답은 :
여기에 대답은 :
class MyController < ApplicationController def my_method # Lots of stuff end helper_method :my_method end
그런 다음보기에서, 당신은 % 또는 <% = <기대할 정확히 ERB에서 참조 할 수 있습니다 :
<% my_method %>
-
==============================
2.당신은 아마도 "helper_method"로 당신의 방법을 선언, 또는 대안 도우미로 이동합니다.
당신은 아마도 "helper_method"로 당신의 방법을 선언, 또는 대안 도우미로 이동합니다.
무엇 도우미 수행하고 helper_method은 무엇입니까?
-
==============================
3.지금이 시도하지만, public 메소드를 호출하면과 유사하지 않은 :
지금이 시도하지만, public 메소드를 호출하면과 유사하지 않은 :
@controller.public_method
및 민간 방법 :
@controller.send("private_method", args)
여기에서 자세한 내용을 참조하십시오
-
==============================
4.helper_method를 사용하여 액션 도우미 메서드를 만들 : your_action_name를
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
도우미 : 또는 당신은 또한 사용하여 도우미 방법으로 모든 작업을 할 수있는 모든
class ApplicationController < ActionController::Base helper :all def foo # your foo logic end def bar # your bar logic end end
두 경우 모두, 당신은 모든 컨트롤러에서 foo는 바 액세스 할 수 있습니다.
from https://stackoverflow.com/questions/8906527/can-we-call-a-controllers-method-from-a-view-as-we-call-from-helper-ideally by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 무엇 MySQL과 mysql2 보석의 차이 (0) | 2020.02.25 |
---|---|
[RUBY-ON-RAILS] 루비 1.8.7 (또는 레일 2.X)에서 () String.force_encoding (0) | 2020.02.24 |
[RUBY-ON-RAILS] catch되지 않은 오류 ReferenceError : 정의되지 않은 반응 (0) | 2020.02.24 |
[RUBY-ON-RAILS] 레일 : POST 요청을 할 때 CSRF 토큰 진위를 확인할 수 없습니다 (0) | 2020.02.24 |
[RUBY-ON-RAILS] 레일 3 개발을위한 기본 URL 변경 (0) | 2020.02.24 |