Rails5 でコントローラのメソッドをヘルパーにする
Ruby Ruby on Rails
Published: 2019-05-17

やったこと

Rails5 でコントローラに定義されているメソッドを、ヘルパーとして定義します。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

$ rails --version
Rails 5.2.3

調査

app/controllers/tasks_controller.rb

class TasksController < ApplicationController
  helper_method :hoge

  def new
  end

  private

  def hoge
    logger.debug(request.method)
  end
end

コントローラで定義したメソッドをヘルパーとしてビューで取り扱えます。

app/views/tasks/new.html.erb

<% hoge %>

参考