我需要采用预先格式化的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>
感谢您的帮助!
答案 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>")