Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 Rails迁移和RDBMS数据库设计表_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails迁移和RDBMS数据库设计表

Ruby on rails Rails迁移和RDBMS数据库设计表,ruby-on-rails,Ruby On Rails,我有这样的桌子 我应该创建什么迁移以及应该使用什么关系 您可以使用Rails单表继承,因为您的模型共享许多相同的功能和数据字段。你最终会得到这样的东西 # /app/models/products/product.rb class Product < ActiveRecord::Base # Methods, variables and constants end # /app/models/products/movie.rb class Movie < Product #

我有这样的桌子


我应该创建什么迁移以及应该使用什么关系

您可以使用Rails单表继承,因为您的模型共享许多相同的功能和数据字段。你最终会得到这样的东西

# /app/models/products/product.rb
class Product < ActiveRecord::Base
  # Methods, variables and constants
end
# /app/models/products/movie.rb
class Movie < Product
  # Methods, variables and constants
end
# /app/models/products/book.rb
class Book < Product
  # Methods, variables and constants
end
#/app/models/products/product.rb
类产品

要了解有关STI的更多信息,请参考或

,您可以使用Rails单表继承,因为您的模型共享许多相同的功能和数据字段。你最终会得到这样的东西

# /app/models/products/product.rb
class Product < ActiveRecord::Base
  # Methods, variables and constants
end
# /app/models/products/movie.rb
class Movie < Product
  # Methods, variables and constants
end
# /app/models/products/book.rb
class Book < Product
  # Methods, variables and constants
end
#/app/models/products/product.rb
类产品

要阅读有关STI的更多信息,请参考或

您可以通过多种方式解决它。。。您可以使用产品模型并使用单表继承(STI)来定义从产品继承的电影和书籍模型(然后类型、媒体、作者等字段成为产品的一部分)。或者,您可以创建单独的MovieProduct和BookProduct模型,每个模型包含它们共享的所有字段。你选择哪一个取决于你,每个人都有自己的优点和缺点。@bo oz你能给我一个链接吗?在那里我可以找到更多关于nidhimj22的STISee链接的信息。但在你选择之前,我建议你也读一读:你可以用多种方法解决它。。。您可以使用产品模型并使用单表继承(STI)来定义从产品继承的电影和书籍模型(然后类型、媒体、作者等字段成为产品的一部分)。或者,您可以创建单独的MovieProduct和BookProduct模型,每个模型包含它们共享的所有字段。你选择哪一个取决于你,每个人都有自己的优点和缺点。@bo oz你能给我一个链接吗?在那里我可以找到更多关于nidhimj22的STISee链接的信息。但在您选择之前,我建议您也阅读以下内容: