我正在使用erb
,理想情况下,我希望我的HTML看起来像这样:
<li class="selected"><a href="awesome.html">Look at this awesome page</a></li>
其中链接的路径和li的类都是使用实例变量动态生成的。
思想?
修改1
如果我使用像Rails这样的东西,我知道我可以做类似的事情:
<%= link_to content_tag(:li, nil, awesome_path, :class => "selected") %>
但这会产生相反的效果,<a>
将在<li>
之外而不在我想要的地方。
答案 0 :(得分:3)
应该如此简单:
<li class="<%= @li_class %>">
<a href="<%= @page_path %>">Look at this awesome page</a>
</li>
当然,您必须相应地更改实例变量。
答案 1 :(得分:3)
这叫做帮手:
helpers do
def li_with_a options
'<li class="' + options[:class] + '"><a href="' + options[:url] + '">' + options[:text] + '</a></li>'
end
end
来自erb:
<%= li_with_a :class => 'selected', :url => 'awesome.html', :text => 'Look at this text' %>