Подтвердить что ты не робот

Лучший способ обработки представлений и вспомогательных констант в Rails

У меня есть константа, которая используется только в представлениях, но в разных местах она используется по-разному. Это массив имен опций и используется для отдельных блоков, но я также использую это в других представлениях, чтобы узнать, найдены ли строки в этом массиве и соответственно отреагируют.

Какой лучший способ справиться с этим, чтобы сохранить DRY?

Я изначально создал константу в помощнике, но это не похоже на доступность в представлениях.

С тех пор я переключился на создание метода в помощнике, который ничего не делает, кроме возврата константы. Тем не менее, это действительно похоже на дух Rails, так как сейчас я использую константу с более низким положением.

Я мог бы, конечно, придерживаться его в модели, но он действительно не имеет ничего общего с какой-либо из моделей.

4b9b3361

Ответ 1

Вы можете определить константы в помощниках, но вам нужно будет ссылаться на них по их полному имени в ваших представлениях.

application_helper.rb

module ApplicationHelper
  MyConstant = "something"
end

В любом представлении:

<%= ApplicationHelper::MyConstant %>

Ответ 2

Поместите его в config/initializers/constants.rb, и он будет доступен везде.