Rails将字符串数组转换为Flash的无序列表

时间:2019-10-10 13:52:19

标签: ruby-on-rails

因此,正在使用的CMS上显示了Flash通知,因此当我们刷新设计/布局时,很难做到。因此,我闪烁的所有内容都将显示在该部分中,唯一真正可以更改的是样式。除非我可以在“布局”>“应用程序渲染Flash”中执行此操作,否则除非此页面。

我所拥有的是一组字符串,我正尝试将它们转换为无序列表。例如,它的显示像@fruit = ["Apple", "Banana", "Orange"]

我的想法是简单地做

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

希望得到

  • 苹果
  • 香蕉
  • 橙色

但是,由于它处于闪烁状态,因此没有明显的换行符。如果我检查足够肯定,它会显示多行,但会混入文本中。

我什至进去,并做了以下思考:

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

但实际上并没有将味精分解成无序列表,尤其是在ul内,而是这样做:

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

那么有没有一种方法可以将字符串数组转换为Flash消息的无序列表?

1 个答案:

答案 0 :(得分:2)

flash可让您使用基本类型(stringarrayhash,...),但如果您将数组,您需要迭代该数组。

@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}"