1
у меня есть:Как определить область действия?
price_plan.rb
class PricePlan < ActiveRecord::Base
has_many :users
scope :premium, lambda { where('price > ?', 0) }
scope :free, lambda { where('price == ?', 0) }
end
user.rb
class User < ActiveRecord::Base
belongs_to :price_plan
has_one :account
scope :free, lambda { joins(PricePlan.free) } #<--- no!
end
Как определить возможности для пользователей, что использование услуг бесплатно? Это ниже должно работать, но мне это не нравится.
scope :free,-> where(priceplan_id: PricePlan.free.pluck(:id))
Вы можете использовать обнаженные области, как что? –
Решение 2 является ответом –
Да, спасибо за вашу рекомендацию: D –