1

コントローラーには次のものがあります。

@registrations = Registration.where('id > 1000000000')
Event.unarchived.each do |event|
  event.registrations.by_submitted.each do |reg|
    @registrations << reg
  end
end

これを行うためのより良い方法が必要です。最初の行を次のように置き換えてみました。

@registrations = Registration.none

しかし、私がそうすると、最終的な@registrations変数には常にゼロのレコードが表示されます。

noneここでメソッドを使用する適切な方法は何ですか?

4

1 に答える 1

3

次のようにすることをお勧めします。

registration_ids = []
Event.unarchived.each do |event|
  registration_ids << event.registrations.by_submitted.pluck(:id)
end
@registrations = Registration.where(id: registration_ids.flatten)
于 2013-10-08T15:24:44.270 に答える