Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何存储分支逻辑?_Ruby On Rails_Logic - Fatal编程技术网

Ruby on rails 如何存储分支逻辑?

Ruby on rails 如何存储分支逻辑?,ruby-on-rails,logic,Ruby On Rails,Logic,我试图找出在我的模型中存储/处理分支逻辑的最佳方法 用户将设置不同的规则,规则是“如果调查对象选择答案1,然后显示问题2、3和4” 我有问答模型,所以我可以存储规则并根据需要将它们映射到问答ID 只是从数据库列的角度不确定如何最好地处理这个问题。 使用地图: (答1)->(第一季度、第二季度、第三季度) 至于数据库模式: 给这张桌子 问题稳定:ID,当前答案,下一个问题 你也可以用合取范式(CNF)的逻辑陈述创造一个小大脑: A1->Q1^A1->Q2^A1->Q3 或者你可以把每一个暗示

我试图找出在我的模型中存储/处理分支逻辑的最佳方法

用户将设置不同的规则,规则是“如果调查对象选择答案1,然后显示问题2、3和4”

我有问答模型,所以我可以存储规则并根据需要将它们映射到问答ID

只是从数据库列的角度不确定如何最好地处理这个问题。

  • 使用地图:

    (答1)->(第一季度、第二季度、第三季度)

至于数据库模式: 给这张桌子

问题稳定:ID,当前答案,下一个问题

  • 你也可以用合取范式(CNF)的逻辑陈述创造一个小大脑:
A1->Q1^A1->Q2^A1->Q3

或者你可以把每一个暗示分开,作为一个单独的陈述

然后计算这些表达式。然后,结果可以指向下一个问题。

  • 使用地图:

    (答1)->(第一季度、第二季度、第三季度)

至于数据库模式: 给这张桌子

问题稳定:ID,当前答案,下一个问题

  • 你也可以用合取范式(CNF)的逻辑陈述创造一个小大脑:
A1->Q1^A1->Q2^A1->Q3

或者你可以把每一个暗示分开,作为一个单独的陈述


然后计算这些表达式。然后,结果可以指向下一个问题。

可能的答案属于单个问题(列答案id)。 问题:有很多答案吗 回答:属于:问题

对于后续问题,这可能需要更多的工作:
问题可以属于不同的答案,几个答案后面可以有相同的问题。因此,在这里,您很可能需要一个has\u和\u-beling\u-to\u-many关系,该关系与一个存储问题id和答案id的中间表相关联。

可能的答案属于一个问题(列答案id)。 问题:有很多答案吗 回答:属于:问题

对于后续问题,这可能需要更多的工作: 问题可以属于不同的答案,几个答案后面可以有相同的问题。所以在这里,您很可能需要一个has_和would_-to_-many关系,该关系与一个存储问题id和答案id的中间表相关联

select NextQuestion from questionsTable where CurrentQuestion='A1'