В моем приложении RoR 5.2 я часто использую помощников для получения списка параметров, которые можно использовать в форме:
<%= f.collection_select :status_id, statuses_list, :id, :name %>
где statuses_list - это метод из моих параметров_helper.rb:
# retrieve the list of statuses
def statuses_list
list_id = ParametersList.where("code=?", 'LIST_OF_STATUSES').take!
Parameter.where("parameters_list_id=? AND ? BETWEEN active_from AND active_to", list_id, Time.now )
end
Чтобы сделать это возможным, application_controller.rb содержит следующее:
include SessionsHelper, ParametersHelper, UsersHelper
Читая вокруг, я обнаружил, что вместо включения всех помощников сразу, я мог бы поставить префикс запрошенного метода: helpers.statuses_list
или ParametersHelper::statuses_list
Как уже было сказано, это позволяет избежать предварительной загрузки всех помощников и делает код более понятным.
Я не могу заставить его работать таким образом, и я застрял с методом incude
(Может быть потому, что я постепенно обновил Rails 5.0, и эта функция появилась недавно?)
Можете ли вы дать мне знать, если это хорошая практика, и каковы предпосылки, чтобы она работала?
Большое спасибо!