2009-12-24 58 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