如何在Rails表单中显示相关模型的数据

时间:2011-06-08 11:30:10

标签: ruby-on-rails ajax

我有两个型号

class Car
    has_many :engines                         
end

class Engine
    belongs_to :car
end

在车辆表格中,我有一个选择字段,用户可以在其中选择引擎类型。列表可能是“1.4L; 1.6L; 2.0L ......”

假设我想在用户选择引擎时显示引擎模型中的其他信息。这应该显示在汽车表格上。这可能是例如必和必拓,最大转速,等等

我如何设置这样的东西。我想有两个方面:

  1. 如何显示引擎中的数据 不使用的车型上的模型 字段(此数据不可编辑)。

  2. 如何动态更新此数据     当用户选择一个选项时     选择字段。

  3. 任何人都可以指出我的起点。我有点迷失在哪里开始。

    非常感谢!

2 个答案:

答案 0 :(得分:0)

如果您在表单中使用collection_select,则需要在collection_select调用中设置两个参数,例如:id和:name。 :id是调用选项标记的值的方法,并且:name是用于显示选项标记内容的方法。

解决方案:在引擎模型中创建一个方法(例如:name_for_select),该方法返回一个字符串,其中包含有关引擎的更多信息,并使用:id,:name_for_select调用collection_select。

答案 1 :(得分:0)

这称为嵌套表单,如果你谷歌,你会发现很多提示和技巧。例如。查看thisthis教程。

你还应该考虑使用像formtasticsimple_form这样的表单构建器:他们有很多助手可以让你的生活更轻松。