Нужно ли вручную включать ApplicationHelper в ApplicationController в Rails 6? - PullRequest
0 голосов
/ 10 октября 2019

Контроллер:

class FooController < ApplicationController
  def index
    bar_method

ApplicationHelper:

module ApplicationHelper
  def bar_method

При просмотре страницы индекса увеличивается undefined method bar_method.

Нужно ли ApplicationHelper включать вручную?

Рельсы 6.

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Оказывается, это было обновление до Rails до 6.

В предыдущих версиях Rails контроллер включал помощника, который совпадает с именем контроллера, например, MyController будет автоматически включать MyHelper,Чтобы вернуть старое поведение, для config.action_controller.include_all_helpers установите значение false.

https://api.rubyonrails.org/classes/ActionController/Helpers.html

1 голос
/ 10 октября 2019

Вам не нужно включать вспомогательный модуль. С helpers (в рельсах 5+) вы можете получить доступ к вспомогательным методам. Попробуйте это:

class FooController < ApplicationController
  def index
    helpers.bar_method
...