2

我想使用自定义通知助手在我的 Padrino 应用程序中生成通知(闪存)消息。在助手内部,我想使用内置的 Padrino 助手(flash 和 content_tag。(参见下面的示例)

class NotificationHelper       

  def self.notify
    unless flash.empty?
      content_tag :div, class: 'notifications' do
        flash.map do |key, msg|
          headline = case key
          when :success then 'Super!'
          when :error   then 'Oh. Das tut uns leid.'
          end
          content_tag :p, :class => "notification" do
            content_tag(:span, headline, class: "headline #{key}") + msg
          end
        end.join("\n")
      end
    end
  end
end

但是,如果我在视图中使用帮助程序,则会收到以下错误:“NoMethodError - NotificationHelper:Class 的未定义方法‘content_tag’:”

我做错了什么?

4

1 回答 1

2

可能您应该在助手之后正确注册它:

module Flash
  def notify # without self
  end
end

class MyApp < Padrino::Application
  # ...
  # after helpers
  helpers Flash
end

看看:https ://github.com/padrino/padrino-contrib/blob/master/lib/padrino-contrib/helpers/flash.rb

于 2013-01-23T00:45:57.150 回答