Как получить доступ к помощникам вида из помощников RJS в Ruby on Rails? - PullRequest
2 голосов
/ 15 февраля 2011

У меня было несколько общих битов RJS, которые я повторял в нескольких файлах RJS, и поэтому хотел поместить их в помощник.

Я добавил метод в app / helpers / application_helper.rb так же, как яобычно для файла html.erb.Метод работает, за исключением того, что он не может вызывать помощники вида, как это может сделать файл RJS.

Одна из строк, которая работала в файле RJS, была:

notices = flash.collect { |type,msg| content_tag(:p, msg, :class => type) }

Но content_tag не являетсядоступны из помощника RJS.Почему нет, и как мне получить оттуда доступ?

1 Ответ

0 голосов
/ 29 сентября 2011

что-то вроде этого?

#application_helper.rb
def view_helpers
  ActionController::Base.helpers
end

def do_it
  view_helpers.content_tag :div, :class => 'yes'
end

Вы должны использовать view_helpers в любом методе, который вы также вызываете из rjs, что не очень хорошо, но я попробовал это в модели (получил проектытолько в 2.3 и 3.1) и это сработало ...

...