Rails MVC、ビューからコントローラーのメソッドを呼び出すことはできますか(メソッドはヘルパーから呼び出すことができます)?はいの場合、どのように?
答えは次のとおりです。
class MyController < ApplicationController
def my_method
# Lots of stuff
end
helper_method :my_method
end
次に、ビューで、ERBで<%
または<%=
を使用して期待どおりに参照できます。
<% my_method %>
メソッドを「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にアクセスできます。