class Company
has_many :permissions
has_many :roles,->{where("roles.created >= ?",Date.today-1.day)}through: :permissions
end
class Role
has_many :permissions
has_many :companies,through: :permissions
end
class Permission
belongs_to :role
belongs_to :company
end
Как выполнить rspe c тестирование для такого рода ситуаций, у него должно быть много ролей
(roles.created_at >= Date.today-1.day)" do
ass = Company.reflect_on_association(:roles)
ass.macro.should == :has_many
ass.options.should == {
:through => :permissions,
:conditions => "roles.created_at >= 05-02-2020",
}
end
Но spe c потерпел неудачу, потому что метод условий там устарел, как проверьте область действия здесь и проверьте область действия выражением where "roles.created_at >= 05-02-2020"