我正在开发一个基本的花园日志应用程序,它由花园、植物和种植的植物组成。每个用户都有一个或多个花园,植物是主定义,种植的植物可以被认为是特定用户花园中植物的实例。
在我的routes.rb文件中,我有以下内容:
map.resources :gardens do |gardens|
gardens.resources :planted_plants, :has_many => :plant_log_entries, :collection => { :filter => :post, :choose_garden => :post}
gardens.resources :garden_log_entries
end
map.resources :plants在检索用户花园中的planted_plants列表时,这对我来说很有意义,但我想从植物的索引创建一个planted_plant记录。问题是,一个用户可以有多个花园。如何为planted_plant创建新表单,以允许用户指定应该使用哪个花园?
当前的路由需要一个garden_id -这对于检索是有意义的,但我想提供它作为创建的参数。
提前感谢您的帮助!
发布于 2010-04-12 19:55:04
我将添加另一个(非嵌套的)路由,以允许在不指定garden_id的情况下访问PlantedPlantsController#create操作:
map.resources :planted_plants, :only => :create这将允许您将表单发布到/planted_plants。至于表单本身,您可能需要如下内容:
<% form_for @planted_plant do |p| %>
<%=p.label "garden_id", "Garden" %>
<%=p.collection_select :garden_id, current_user.gardens, :id, :name %>
... other fields ...
<% end %>https://stackoverflow.com/questions/2621358
复制相似问题