2009-12-24 59 views
1

我有一個嵌套在2個其他資源內的模型的編輯屏幕。爲了讓這個例子很容易理解,它看起來有點像這樣:Rails - 嵌套資源的表單下拉列表。什麼是正確的方法?

製作 - >模型 - >汽車

我有車編輯屏幕,讓您編輯它所包含的幾個字段。 (假設URL是:/使/ 124 /模型/ 12512 /汽車/ 1125 /編輯)

我想添加一個級聯對下拉菜單中,讓用戶在汽車重新分配到不同的品牌/型號。 (我這樣做是爲了清理系統中的一些不良數據)。

的形式如下:

<% 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加入到這一觀點,我知道如何使選擇框,但我不明白的是我怎麼能表單加載時自動選擇值。

什麼是建立這樣一個形式,對於一些家長資源領域的正確方法是什麼?

回答

0

你應該使用:shallow => true描述here讓你的編輯URI是http://host:port/cars/1125/edit

+0

其實我有友好的外觀路線,所以完整的URL具有意義,當然,我同意你的看法,如果我只是使用每個人的ID。 (類似於/製作/ 52-honda/12-accord/.....) - 另一個原因是URL是「hackable」,這意味着您可以關閉某個細分並且仍然有效。 – 2009-12-24 22:16:19