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 に答える