我有两个型号
class Car
has_many :engines
end
class Engine
belongs_to :car
end
在车辆表格中,我有一个选择字段,用户可以在其中选择引擎类型。列表可能是“1.4L; 1.6L; 2.0L ......”
假设我想在用户选择引擎时显示引擎模型中的其他信息。这应该显示在汽车表格上。这可能是例如必和必拓,最大转速,等等
我如何设置这样的东西。我想有两个方面:
如何显示引擎中的数据 不使用的车型上的模型 字段(此数据不可编辑)。
如何动态更新此数据 当用户选择一个选项时 选择字段。
任何人都可以指出我的起点。我有点迷失在哪里开始。
非常感谢!
答案 0 :(得分:0)
如果您在表单中使用collection_select,则需要在collection_select调用中设置两个参数,例如:id和:name。 :id是调用选项标记的值的方法,并且:name是用于显示选项标记内容的方法。
解决方案:在引擎模型中创建一个方法(例如:name_for_select),该方法返回一个字符串,其中包含有关引擎的更多信息,并使用:id,:name_for_select调用collection_select。
答案 1 :(得分:0)
这称为嵌套表单,如果你谷歌,你会发现很多提示和技巧。例如。查看this和this教程。
你还应该考虑使用像formtastic或simple_form这样的表单构建器:他们有很多助手可以让你的生活更轻松。