0

私はまだ Rails を調べていて、できる限り多くのものを手に入れています。

次の関連付けを設定しています。

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

dashboard_controller.rb にいて、次のループがあったとします。

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

ビューでは、各アウトレットをループしています。ただし、同じループで、 :was_revoked => trueである最新の監視を取得したいと考えています。

慣例に従ってこれを行うにはどうすればよいですか?

4

2 に答える 2

1

あなたの見解では、これを試してください:

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

幸運を

于 2012-06-05T20:50:42.440 に答える
0

@Anilの回答をフォローアップするには:

  • monitorings、末尾の s
  • .where("was_revoked = true").order(:created_at)スコープを作成することをお勧めしますMonitoring
于 2012-06-05T20:54:03.997 に答える