代码之家  ›  专栏  ›  技术社区  ›  Ben Scheirman

Rails——嵌套资源的表单下拉列表。正确的方法是什么?

  •  1
  • Ben Scheirman  · 技术社区  · 15 年前

    我有一个嵌套在其他两个资源中的模型的编辑屏幕。为了使示例易于理解,它看起来有点像:

    制造->型号->汽车

    我有一个汽车编辑屏幕,可以让你编辑它包含的几个字段。 (假设url为:/makes/124/models/12512/cars/1125/edit)

    我想添加一对级联下拉列表,允许用户将汽车重新分配给不同的品牌/型号。(我这样做是为了清理系统中的一些坏数据)。

    表单如下所示:

    <% form_for [@car.model.make, @car.model, @car] do |f| %>
    
        <%= f.error_messages %>
    
            <!-- this is where I want the cascading dropdowns -->   
    
        <p> <%= f.label :color %><br />
            <%= f.text_field :color %></p>
    
        <p> <%= f.label :mileage %><br />
            <%= f.text_field :mileage %></p>
    
        <p><%= f.submit "Update Car" %></p>
    <% end %>
    

    我可以从我的控制器将@makes添加到这个视图中,我知道如何创建选择框,但我不明白的是,如何在表单加载时自动选择值。

    构建这样一个表单的正确方法是什么,其中包含一些父资源的字段?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Chandra Patni    15 年前

    你应该使用 :shallow => true 如上所述 here 所以你的编辑URI是 http://host:port/cars/1125/edit