Rails конвертирует массив строк в неупорядоченный список для Flash - PullRequest
0 голосов
/ 10 октября 2019

Таким образом, уведомления о флеш-памяти отображаются на CMS, которую мы используем, поэтому при флеш-дизайне довольно сложно добраться до дизайна / макета. Поэтому все, что я прошил, будет отображаться в этом разделе, и единственное, что я могу изменить, - это стиль. Если только я не могу сделать в Layout> Application render flash, кроме этой одной страницы.

У меня есть массив строк, которые я пытаюсь преобразовать в неупорядоченный список. Так, например, он появляется как @fruit = ["Apple", "Banana", "Orange"].

Я думал просто сделать

@fruit.map(&:inspect).join("\n").delete('""')

С надеждой получить

  • Apple
  • Банан
  • Оранжевый

Однако, поскольку он находится во вспышке, разрыва строки нет. Если я проверю достаточно точно, он показывает несколько строк, но сосредоточен в тексте.

Я даже вошел и сделал следующее, думая, что это будет работать:

-flash.each do |type, msg|
 ul
  =content_tag :li, msg, id: "flash_#{type}"

Но это на самом деле не нарушает сообщениев неупорядоченный список, особенно в ul, и вместо этого выполните:

<ul></ul>
 <li id="flash_error">"Apple Banana Orange"</li>

Так есть ли способ преобразовать массив строк в неупорядоченный список для флэш-сообщения?

1 Ответ

2 голосов
/ 10 октября 2019

flash позволяет вам использовать примитивные типы (string, array, hash, ...), но вам нужно обрабатывать это в представлении, если вы помещаете в него массив, вам нужно итерировать этомассив.

@fruit = ["Apple", "Banana", "Orange"]
flash[:notice] = @fruit

(также ul должно быть за пределами flash.each)

ul
  - flash.each do |type, msg|
    - if msg.is_a? Array
      - msg.each do |a|
        = content_tag :li, a, id: "flash_#{type}"
    - else
      = content_tag :li, msg, id: "flash_#{type}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...