<li<% if @flits.first == flit %> class="first" <% end %>>我在Rails 3中为#flits_list和#flits_list :hover创建了css,但是我希望列表中的第一个flit (flits_list.first)有不同的css,所以我创建了一个类,但是这段代码返回错误。
在home#index中没有方法错误。当你没有预料到的时候,你就有了一个零目标!您可能会期望数组的实例。计算nil.first时发生错误
任何帮助都将不胜感激。
发布于 2011-07-01 22:22:11
问题是@flits是零,大概是因为您的all_flits方法正在返回零。
但是,我建议不要将这种逻辑放在视图中,而是像这样拆分一个标记。您有几种方法可以使它变得更干净:
选项1:使用CSS伪类first-child,如下所示:
li:first-child {
...
}这具有不需要任何后端逻辑或特殊标记的优点。唯一的缺点是,它对旧浏览器的支持不稳定,比如IE6。
选项2:使用Rails标记帮助器。
<%= content_tag :li, :class => @flits.first==flit?"first":"" %>选项3:将其放入助手方法中
<%= li_for_flit %>然后在帮手:
def li_for_flit
#spit out your tag here
endhttps://stackoverflow.com/questions/6546843
复制相似问题