首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建新的嵌套资源

创建新的嵌套资源
EN

Stack Overflow用户
提问于 2010-04-12 18:40:42
回答 1查看 106关注 0票数 0

我正在开发一个基本的花园日志应用程序,它由花园、植物和种植的植物组成。每个用户都有一个或多个花园,植物是主定义,种植的植物可以被认为是特定用户花园中植物的实例。

在我的routes.rb文件中,我有以下内容:

代码语言:javascript
复制
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 -这对于检索是有意义的,但我想提供它作为创建的参数。

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-12 19:55:04

我将添加另一个(非嵌套的)路由,以允许在不指定garden_id的情况下访问PlantedPlantsController#create操作:

代码语言:javascript
复制
map.resources :planted_plants, :only => :create

这将允许您将表单发布到/planted_plants。至于表单本身,您可能需要如下内容:

代码语言:javascript
复制
<% form_for @planted_plant do |p| %>
  <%=p.label "garden_id", "Garden" %>
  <%=p.collection_select :garden_id, current_user.gardens, :id, :name %>
  ... other fields ...
<% end %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2621358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档