【发布时间】:2013-03-16 07:41:17
【问题描述】:
我有一些显示一个类别的显示操作。但从那里我想通过链接创建新产品。重点是我通过 link_to 传递了类别 ID 和名称。
一切顺利,它打开了产品/新操作。在浏览栏中有这样的链接http://mysite/products/new?id=43&name=Skeleji。没关系。
但是我怎样才能使这些 id 和 name 在表单中可用,我在哪里填写有关新产品的信息? 在此之后,当我单击创建时,我希望这些值(例如 category_id)与其他有关产品的信息一起保存在数据库中。
在产品和类别之间,我已经建立了关系。
到目前为止,我的代码看起来像这样。
我的类别/显示操作代码如下所示。
<%= link_to "Add Product", {:controller => "products", :action => "new", :id => @category.id, :name => @category.name }%>
产品控制器,新动作如下所示。
def new
@product = Product.new
@product.category_id = @category.id
end
单击创建它会创建项目,但没有 category_id。问题可能出在哪里? 也许代码在新动作下,实际上应该在创建动作下。大约一年前我设法做这样的事情,但我找不到那个项目。:(
【问题讨论】:
-
哇,我自己找到了 :D 我必须使用
@product.category_id = params[:id]而不是`@product.category_id = @category.id`
标签: ruby-on-rails parameters link-to