Как использовать уточнения Ruby в представлениях Rails?
У меня есть проект Rails 4 с использованием Ruby 2.0. Я определил некоторые уточнения. Ввод
<% using MyRefinements %>
В верхней части окна просмотра файлов возникает ошибка "неопределенный метод" с использованием "".
Когда я добавляю:
using MyRefinements
В верхней части моего контроллера (над объявлением класса) я могу успешно использовать уточнение в контроллере, но я получаю ошибку "неопределенный метод", если пытаюсь использовать его в представлении.
Спасибо!
2 ответа
К сожалению, это не представляется возможным. Для потомков я документирую то, что попробовал, но это не сработало:
По мнению:
<% using MyRefinements %>
В контроллере (каждый пробовал отдельно):
using MyRefinements
helper :MyRefinements
helper_method :MyRefinements
helper { using MyRefinements }
В помощнике:
using MyRefinements
Обратите внимание, что уточнения становятся доступными в контроллере и помощнике, но никогда в представлении.
Очень плохо.
Используя 'using', вы можете импортировать уточнения класса из модуля в текущий класс или определение модуля. Вы не можете включить его в файл представления с помощью "использования". если вы хотите использовать его, вы можете выполнить следующие действия в вашем контроллере (я не проверял это):
используя MyRefinements
helper: MyRefinements ИЛИ helper_method:MyRefinements