Rails:将新列表项(<li>)注入无序列表元素(<ul>)</ul> </li>

时间:2011-05-03 14:52:29

标签: html ruby-on-rails

我需要采用预先格式化的HTML(以无序列表的形式,带有列表项)并在显示之前注入一些新项目。举个例子,我有数据(在我的数据库中),如下所示:

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

我需要在UL发送到视图之前再注入两个项目:

@new_item1 = "New Item 1"
@new_item2 = "New Item 2"

#Inject new items into UL with some Rails code
#Display the following:

<ul>
  <li>New Item 1</li>
  <li>New Item 2</li>
  <li>Item 1</li>
  etc...
</ul>

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

最简单的方法是将<ul>替换为<ul> + <li>@new_item1</li> + <li>@new_item2</li>

s = "<ul>
       <li>Item 1</li>
       <li>Item 2</li>
       <li>Item 3</li>
     </ul>"

s.gsub!('<ul>', "<ul>\n  <li>#{@new_item1}</li>\n  <li>#{@new_item2}</li>")