我有以下的情况 -使用规则引擎
我有Company
,我有Incident
。
A 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应用程序的上下文中是否有将事实载入引擎的最佳实践?
我的用例是,用户选择一个事件并要求可以为事件提供服务的公司。我需要问规则引擎的公司名单,可以做的伎俩:)
太棒了。谢谢你。所有这些使得现在更加合理。我会尽力将其纳入我的应用程序。 –
还有一件事,我该如何将我的Rails应用程序与我的服务,事件和公司模型进行整合?有没有什么好的做法将事实加载到引擎中?谢谢!!编辑此部分的问题:) –
好的,我修改了这个问题,以显示如何使用一些ActiveModel内部连接填充事实。 – SteveTurczyn