Rails 3.2助手或范围

时间:2012-06-05 20:42:04

标签: ruby-on-rails postgresql refactoring associations

我仍在趟过Rails,尽可能多地接受。

我设置了以下关联:

Outlet **has_many** Monitorings  
Monitoring **belongs_to** Outlets

如果我在 dashboard_controller.rb 中,我有以下循环:

@revoked_outlet = Outlet.where(:revoked => true)

然后在视图中,我正在遍历每个插座。 但是,在同一个循环中,我想抓住最近的监控,其中:was_revoked =>真

我如何按惯例做到这一点?

2 个答案:

答案 0 :(得分:1)

在您看来,试试这个:

<% @revoked_outlet.each do |outlet| %>
  <%= outlet.monitorings.where("was_revoked = true").order(:created_at).last %>
<% end %>
祝你好运

答案 1 :(得分:0)

跟进@ Anil的回答:

  • monitorings,尾随 s
  • 我建议在.where("was_revoked = true").order(:created_at)
  • 上设置Monitoring作用域