我是一名 Java 开发人员,过去几天我一直在学习 Rails。我有一个 Java EE 应用程序(使用 Hibernate for ORM),我正在尝试将其移植到 Rails。我使用脚手架生成了一些模型。但是我还有其他模型,其中包含对其他模型的引用。我如何定义关系?我也可以搭建它吗?
这是我正在尝试做的一个例子。
public class Engine {
private int valves;
private int capacity;
private int rpm;
}
只需执行以下操作,我就可以在 ruby 中构建 Engine 类:
rails generate scaffold Engine valves:integer capacity:integer rpm:integer
这对我来说是棘手的部分:
public class Car {
private Engine engine;
}
如何在 Ruby 中搭建 Car 类的脚手架?
最佳答案
如果我理解正确,您正在寻找关联。这是一个 great guide 你应该阅读。这里要理解的是,您在模型中定义了它们如何使用该指南中描述的一系列方法相互关联。
这是我建议你做的:
rails generate scaffold Car <db columns>
rails generate model Engine valves:integer capacity:integer rpm:integer car_id:integer
在你的两个模型中:
class Car < ActiveRecord::Base
has_one :engine
end
class Engine < ActiveRecord::Base
belongs_to :car
end
您实际上可以为两个模型生成脚手架...这将创建 Controller 和 View 。但在这种情况下,添加
可能是有意义的accepts_nested_attribues_for :engine
改为您的汽车模型。这将允许您从 Controller 和汽车模型的 View 管理引擎模型的操作。
无论如何,我希望这能帮助您开始找到您需要的东西。
关于ruby-on-rails - 如何在 ActiveRecords 中创建对 Ruby 对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7646889/