У меня такая ситуация -
У меня Company
и у меня Incident
.
Company
предлагает множество услуг (Service
) и, следовательно, - has_and_belongs_to_many :services
.
Incident
нужны некоторые услуги (Service
) и, следовательно - has_and_belongs_to_many :services
Теперь для конкретного инцидента мне нужно найти все компании, которые предлагают необходимые мне услуги. Я хочу использовать для этого механизм правил, потому что мне нужно применить гораздо более сложные условия, чтобы выбрать правильный набор компаний.
Я заглянул в этот драгоценный камень под названием - Wongi-engine
(github.com/ulfurinn/wongi-engine), но его слишком сложно осмыслить и написать правила.
Можете ли вы дать мне какие-нибудь указатели? Спасибо!
Я могу придумать следующее facts
:
engine << [ "CompanyA", "offers", "serviceA" ]
engine << [ "CompanyB", "offers", "serviceB" ]
engine << [ "CompanyA", "offers", "serviceB" ]
engine << [ "CompanyB", "offers", "serviceC" ]
engine << [ "IncidentA", "requires", "serviceC" ]
engine << [ "IncidentA", "requires", "serviceA" ]
РЕДАКТИРОВАТЬ: Также, когда я напишу эти правила, как мне использовать модели Rails вместо этих строк? И есть ли какие-нибудь передовые методы загрузки фактов в движок в контексте приложения Ruby on Rails?
Мой вариант использования: пользователь выбирает инцидент и спрашивает компании, которые могут его обслужить. И мне нужно спросить у движка правил список компаний, которые могут помочь :)