如何“虚拟地”在rails中创建和保存单独模型的属性

时间:2012-01-02 20:31:48

标签: ruby-on-rails ruby-on-rails-3

标题可能看起来好像我在询问如何访问/查找/更新相关/嵌套模型的属性,但事实并非如此,不幸的是这是我能想到的最佳标题。

我想在轨道上使用ruby构建一个足球管理游戏,其中常规的total_attack_value和total_defense_values匹配等等。我不打算像herehere那样使模拟太深,例如计算和匹配单独的corner_attack或side_attack值,但是认真地打算在total_defense_value中包含守门员的技能。

为了澄清,total_attack_value将计算为“total_shooting_value x total_pass_value x total_possess_value x / + Rand()etc”,所有这些......_值将在Team模型中计算,但total_defense_value应该具有“goalkeeper_skill_value”将成为用户为即将到来的比赛选为守门员的技能,正如我计划的那样。

除了保存和检索用户使用虚拟属性将哪个玩家置于守门员位置之外我无法想到任何其他事情,因为用户将安排未来时间的比赛并且守门员选择应该持续到那时为止。在这种情况下,我将创建一个Player_Position模型和属于Position和Player的关联模型以及Player模型中的assign_positions函数等。然而,这正是我想要避免的,代码和复杂性 - 明智的做法是向用户提供将玩家拖放到单独位置的可能性,如在一些游戏中看到的,如足球运动员和goalunited。

rails是否为简单的CRUD操作(如属性或STI)提供了解决此问题的简单/现成解决方案?

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您要实现的目标,但下一版本的Rails 3.2具有您可以使用的简单Key Value Store功能。候选版本已经发布,因此您可以尝试一下,看看它是否满足您的需求。

有关该功能的简短说明已包含在latest release notes