动态方法/规则

时间:2011-01-19 21:29:22

标签: ruby-on-rails-3

我需要创建一个产品配置器,但根据要求,每个产品都有一套规则来验证它。规则指的是配置的基础组件的数量。 目前处理这个问题的方法只是在数据库中存储“公式”字符串,并且由于UI在Excel中,因此当您调用配置时,它也会附带规则,您只需添加“=” “在它面前。因此,最终产品在数量或组件变化时起作用。

所以我看到了一些相似类型的问题被问到,答案似乎总是UJS,但是,这存储在应用程序本身,对吗?我面临的挑战是创建一种方法,我可以根据产品复制这些规则,并且不断添加不同的产品,更改等等,所以每次想要更改某些内容时,将其保留在应用程序中进行重新部署似乎是有点极端!

有人能想到一个好的解决方案吗?救命啊!

1 个答案:

答案 0 :(得分:0)

这些是业务规则,因此它们需要存储在服务器端的某个位置(它们可以在客户端代码中进行镜像,但仅将它们存储在那里是非常不可取的;)。它们可以表示为代码或配置文件,也可以表示在数据库中。

正如您所建议的那样,在源代码中经常更改规则的建模会使您的应用程序变得脆弱。我认为最好的存储选项是您的数据库。

如果您需要在每个产品的基础上实现客户端行为,您可以使用AJAX将产品ID发送到服务,该服务将配置“包”返回到您的(哑)客户端。

那会有用吗?无论如何,对我来说听起来不错。 ;)