Как я могу использовать помощника в разных представлениях
Я использую НПЗ НПЗ на данный момент. Я создал движок и с ним некоторые помощники в app/helpers/admin/
.
теперь я хотел бы использовать эти помощники в моем интерфейсе (т.е. app/views/myapp/index
). но я не могу... неопределенная ошибка метода.
что мне нужно сделать, чтобы скопировать все это на app/helpers/
?
помощник выглядит следующим образом
module Admin
module myHelper
def somefunc
end
end
end
можно ли использовать somefunc
вне модуля Admin?
Ответы
Ответ 1
В application_helper.rb
:
module ApplicationHelper
include Admin::MyHelper
end
Это импортирует эти вспомогательные методы в ApplicationHelper
, тем самым делая их доступными в ваших представлениях. Вы могли бы сделать это в любом из ваших помощников.
Ответ 2
"Rails way" для включения хелпера из нестандартного пути в представление - использовать метод .helper внутри вашего контроллера.
class MyController < ApplicationController
helper Admin::MyHelper
...
end
http://apidock.com/rails/AbstractController/Helpers/ClassMethods/helper
Ответ 3
Вы можете попытаться использовать полное описание объекта, например Admin::myHelper::somefunc
, для вызова somefunc
извне модуля Admin
.