我有一些常见的RJS,我在多个RJS文件中重复,所以想把它放到帮助器中。
我为app / helpers / application_helper.rb添加了一个方法,就像我通常用于html.erb文件一样。该方法有效,但它不能调用RJS文件可以的视图助手。
RJS文件中的一条线路是:
notices = flash.collect { |type,msg| content_tag(:p, msg, :class => type) }
但是无法从RJS帮助程序访问content_tag。为什么不,以及如何从那里访问它?
答案 0 :(得分:0)
这样的事情怎么样?
#application_helper.rb
def view_helpers
ActionController::Base.helpers
end
def do_it
view_helpers.content_tag :div, :class => 'yes'
end
你必须在你从rjs调用的任何方法中使用view_helpers
,这不是很好,但我在模型中尝试过(仅在2.3和3.1中获得了项目)并且有效... < / p>