Rails比较不起作用

时间:2013-09-24 14:52:25

标签: ruby-on-rails

在Rails中,有一个工作表。每个工作单都可以有儿童工作人员。我正在尝试创建兄弟工作者的下拉链接。我正在通过查看workorder.id = 30进行测试。它有一个sibling workorder.id = 20.我不想显示用户正在查看的相同工作订单的链接(30)。

所以我进行了测试<% if child.id != @workorder %>。但是,30链接仍然显示。我添加了一些记录器代码,看看发生了什么。

这是我的代码:

<li class="dropdown-header">Siblings Links</li>
    <% Workorder.find(@workorder).parent.children.each do |child| %>
        <%= logger.info 'LOOK HERE ' %>
        <%= logger.info child.id %>
        <%= logger.info @workorder %>
        <% if child.id != @workorder %>
            <li><%= link_to child.id_desc, tasks_index4_path(:workorder_id => child) %></li>
        <% end %>
    <% end %>

日志显示:

LOOK HERE
30
30
LOOK HERE
30
20

然而,30的link_to显示出来。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

@workorder可能是Workorder个对象。因此,为了将@workorderchild.id进行比较,您需要访问id上的@workorder属性才能进行正确的比较:

<% if child.id != @workorder.id %>

答案 1 :(得分:1)

在比较中使用@workorder.to_i