загрузочные рельсы и проблема с автозагрузкой

0

Я использую bootstrap в приложении rails, без драгоценного камня, но просто включаю соответствующие файлы. Тем не менее, я хочу скопировать некоторые из лесов, созданных драгоценным камнем, чтобы ничего не забыть. Управление флеш-сообщениями осуществляется этой строкой внутри макета:

<%= bootstrap_flash %>

это относится к рубиновому файлу, содержимое которого вы можете найти ниже. Проблема в том, что любой каталог, в который я его вставлял, всегда получает ошибку:

undefined local variable or method 'bootstrap_flash' for ...

Что здесь происходит?

module BootstrapFlashHelper
ALERT_TYPES = [:error, :info, :success, :warning]

def bootstrap_flash
  flash_messages = []
  flash.each do |type, message|
    # Skip empty messages, e.g. for devise messages set to nothing in a locale file.
    next if message.blank?

    type = :success if type == :notice
    type = :error   if type == :alert
    next unless ALERT_TYPES.include?(type)

    Array(message).each do |msg|
      text = content_tag(:div,
                       content_tag(:button, raw("&times;"), :class => "close", "data-dismiss" => "alert") +
                           msg.html_safe, :class => "alert fade in alert-#{type}")
      flash_messages << text if msg
    end
  end
  flash_messages.join("\n").html_safe
end

конец

1 ответ

1
Лучший ответ

Поскольку именем вспомогательного модуля является BootstrapFlashHelper, вы должны your_application/app/helpers его как bootstrap_flash_helper.rbsnake_case) и поместить его в your_application/app/helpers.

Теперь вы можете использовать вспомогательный метод bootstrap_flash в любом из ваших представлений, расположенных в your_application/app/views. После этих изменений обязательно перезапустите сервер.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню