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 RubyonRails:如何实现这个特定的模型(使用继承、N-to-M关系等)_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails RubyonRails:如何实现这个特定的模型(使用继承、N-to-M关系等)

Ruby on rails RubyonRails:如何实现这个特定的模型(使用继承、N-to-M关系等),ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我已经为我的应用程序定义了数据模型,其中将包含以下特定部分: 现在,我特别关注的问题是建模“Value”及其子模型“Value\u Decimal”和“Value\u Text”。基本上,我不希望有这个层次结构,因为它应该有几个其他的值类型,并且每个值模型都有几个其他不同的列(由于这个事实,我不考虑单表继承)。 我如何用Rails的活动记录实现这一点,有人能指出一些方向吗 非常感谢 表中的项属性值应该有一个值类型列,允许多态关联。然后,您可以为继承自抽象value模型(没有表)的各种“值”模型创

我已经为我的应用程序定义了数据模型,其中将包含以下特定部分:

现在,我特别关注的问题是建模“Value”及其子模型“Value\u Decimal”和“Value\u Text”。基本上,我不希望有这个层次结构,因为它应该有几个其他的值类型,并且每个值模型都有几个其他不同的列(由于这个事实,我不考虑单表继承)。 我如何用Rails的活动记录实现这一点,有人能指出一些方向吗


非常感谢

表中的
项属性值
应该有一个
值类型
列,允许多态关联。然后,您可以为继承自抽象
value
模型(没有表)的各种“值”模型创建不同的表。这样可以避免STI,但仍从一个基础模型继承

由于
item\u property\u value
模型结合了3种不同的关系,因此需要将其视为一级Rails模型,这意味着它还需要一个
id
作为主键。然后,可以使用映射访问它要连接的实际对象

请在这里阅读。抽象类仅标记为:

class Value < ActiveRecord::Base
  self.abstract_class = true
end
类值
表中的
项属性值应具有允许多态关联的
值类型
列。然后,您可以为继承自抽象
value
模型(没有表)的各种“值”模型创建不同的表。这样可以避免STI,但仍从一个基础模型继承

由于
item\u property\u value
模型结合了3种不同的关系,因此需要将其视为一级Rails模型,这意味着它还需要一个
id
作为主键。然后,可以使用映射访问它要连接的实际对象

请在这里阅读。抽象类仅标记为:

class Value < ActiveRecord::Base
  self.abstract_class = true
end
类值
Hi PinnyM,感谢您的回复。你有没有建议任何关于这方面的教程?另一点是:如何处理三元项目属性值关联?更新。关于教程,我建议阅读链接的协会文档以及railscast。一般来说,railscasts是学习rails的一个很好的资源。嗨,PinnyM,谢谢你的回复。你有没有建议任何关于这方面的教程?另一点是:如何处理三元项目属性值关联?更新。关于教程,我建议阅读链接的协会文档以及railscast。一般来说,RailsCast是学习rails的一个很好的资源。这让人想起reddit数据库模式。这让人想起reddit数据库模式。