Ruby on Rails:ラムダと配列を持つ名前付きスコープ

ruby-on-rails
Ruby on Rails:ラムダと配列を持つ名前付きスコープ
named_scope :all_public, lambda { |users|
       { :conditions =>  ["visibility = ? || (visibility = ? && user_id = ?)", Shared::PUBLIC, Shared::PRIVATE, users] }
     }

これは1人のユーザーにとっては便利ですが、ユーザーがユーザーIDの配列である場合に機能するように変更する方法はありますか?

  1  0


ベストアンサー

このようなもので、単一のIDの場合は単一の要素配列を渡すだけです

named_scope :all_public, lambda { |users|
       { :conditions =>  ["visibility = ? OR (visibility = ? AND user_id IN (?))", Shared::PUBLIC, Shared::PRIVATE, users.join(',')] }
     }

1


タイトルとURLをコピーしました