您好我正在RoR上实施一个网络应用程序。我的第一个模型有三个字段作为输入(重量,高度和性别),而我的第二个模型有两个字段(重量和高度)。我已经实现了第一个模型,我正在考虑为具有两个字段的模型创建一个单独的模型。任务是当我将数据放入第二个模型(我正在考虑实现)时,我的代码应该从第一个模型中提取所有数据,即具有三个字段的数据,然后我应该对其进行计算。
我的问题是:
这两个模型之间是否会共享相同的数据库?当我输入并将数据提交到第二个模型表格时,我应该如何从第一个模型中提取数据?
答案 0 :(得分:0)
根据您的问题的详细信息,这并不完全确定,但 Single Table Inheritance 可能会对您有所帮助。
基本上你可以拥有这些模型:
class BaseModel < ActiveRecord::Base; end
class ThreeFieldModel < BaseModel; end
class TwoFieldModel < BaseModel; end
您的迁移将包含所有字段,包括一个神奇的type
列:
create_table :base_model do |t|
t.string :type, null: false
t.string :weight
t.string :height
t.string :gender
t.timestamps
end
如果您决定使用STI,我建议您阅读有关此主题的一两个教程。适当地使用带有Rails的STI可能很困难。