首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这一行代码似乎适用于Rails 2.x.x,而不是3.x.x?有人能帮我翻译一下吗?

这一行代码似乎适用于Rails 2.x.x,而不是3.x.x?有人能帮我翻译一下吗?
EN

Stack Overflow用户
提问于 2011-07-01 10:36:18
回答 1查看 71关注 0票数 0
代码语言:javascript
复制
<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时发生错误

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2011-07-01 22:22:11

问题是@flits是零,大概是因为您的all_flits方法正在返回零。

但是,我建议不要将这种逻辑放在视图中,而是像这样拆分一个标记。您有几种方法可以使它变得更干净:

选项1:使用CSS伪类first-child,如下所示:

代码语言:javascript
复制
 li:first-child {
    ...
 }

这具有不需要任何后端逻辑或特殊标记的优点。唯一的缺点是,它对旧浏览器的支持不稳定,比如IE6。

选项2:使用Rails标记帮助器。

代码语言:javascript
复制
<%= content_tag :li, :class => @flits.first==flit?"first":"" %>

选项3:将其放入助手方法中

代码语言:javascript
复制
<%= li_for_flit %>

然后在帮手:

代码语言:javascript
复制
def li_for_flit
   #spit out your tag here
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6546843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档