我想尝试在 Rails 中的两个模型之间应用一对一的关系。
在 modelX.rb 文件中我添加了belongs_to :modelY
. 在我添加的 modelY.rb 文件中has_one :modelX
数据库架构会自动更改吗?或者我是否需要运行命令才能提交此关联?
我想尝试在 Rails 中的两个模型之间应用一对一的关系。
在 modelX.rb 文件中我添加了belongs_to :modelY
. 在我添加的 modelY.rb 文件中has_one :modelX
数据库架构会自动更改吗?或者我是否需要运行命令才能提交此关联?
问题是,在 Rails 中,数据库通常不会“看到”两个实体之间的关系以及外键等等。关系的“智能”应该出现在您的模型上(就像您已经使用 belongs_to、has_one 等一样)。
此外,为了更改架构,您需要为数据库运行 rake 任务,例如 rake db:migrate、db:rollback 等。
有关这方面的更多信息,您还可以查看 Rails 指南
干杯。
简短的回答:没有
只有在数据结构中进行了必要的更改(通常使用迁移)以支持这些关系时,才能使用这些方法(例如,belongs_to)。