不要在每个循环中显示活动记录

时间:2012-08-25 11:20:18

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

在我的餐厅展示页面上,有一个餐厅位于同一地区/城市。喜欢这个

- @restaurants.each do |b|
            %li.usp
              %span.icon
              %h6 
                =link_to b.name, polymorphic_path([@region, @city, b])

此代码显示所有餐厅,但也显示“活跃”(访客在那一刻的餐厅)餐厅。如何显示所有记录但不显示“活动”记录?

1 个答案:

答案 0 :(得分:2)

您可以使用Restaurant模型中的方法处理它。

class Restaurant < ActiveRecord::Base

  def nearby
    self.class.where("region = ? and id <> ?", region, id) }
  end

end

然后在你看来:

<% @restaurant.nearby.each do |restaurant| %>

或者不是常规方法,您可以使用命名范围并将餐馆作为参数传递。