Ruby on rails 放置一个表单来更新一行,但我可以';找不到身份证。它在哪里?

Ruby on rails 放置一个表单来更新一行,但我可以';找不到身份证。它在哪里?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我应该如何传递ID? 错误: 找不到没有ID的产品 表格: 控制器(更改数据库): 尝试从表单_for语句中删除:product 编辑:尝试删除url选项。问题是您要发布到的URL没有id属性。请尝试从表单\u for语句中删除:product 编辑:尝试删除url选项。问题是您发布到的URL没有id属性。此表单标记应足够: <% form_for @product do |f| %> 为了获得额外的积分,您可以在控制器中使用前过滤器简化@product的加载: class Prod

我应该如何传递ID?

错误:

找不到没有ID的产品

表格:

控制器(更改数据库):


尝试从表单_for语句中删除:product


编辑:尝试删除url选项。问题是您要发布到的URL没有id属性。

请尝试从表单\u for语句中删除:product


编辑:尝试删除url选项。问题是您发布到的URL没有id属性。

此表单标记应足够:

<% form_for @product do |f| %>
为了获得额外的积分,您可以在控制器中使用
前过滤器简化@product的加载:

class ProductsController < ApplicationController
  before_filter :load_product, :only => [:show, :edit, :update, :destroy]
  def load_product
    @product = Product.find(params[:id])
  end
end
class ProductsController[:显示,:编辑,:更新,:销毁]
def load_产品
@product=product.find(参数[:id])
结束
结束

此表单标签应足够:

<% form_for @product do |f| %>
为了获得额外的积分,您可以在控制器中使用
前过滤器简化@product的加载:

class ProductsController < ApplicationController
  before_filter :load_product, :only => [:show, :edit, :update, :destroy]
  def load_product
    @product = Product.find(params[:id])
  end
end
class ProductsController[:显示,:编辑,:更新,:销毁]
def load_产品
@product=product.find(参数[:id])
结束
结束

这会导致“没有操作响应1。操作:创建、编辑、索引、新建、显示和更新”问题。请尝试将:id=>@product.id添加到URL哈希中。此外,您是否在路由中使用map.resources?{:id=>…}有效。但我真的必须把它放在那里吗?我觉得如果我输入了@product w/所有识别数据,Rails必须为我提供id。是的,map.resources是在routes中完成的。你使用的Rails版本是什么?这导致了“没有对1做出响应的操作”。操作:创建、编辑、索引、新建、显示和更新“问题”,然后尝试将:id=>@product.id添加到URL哈希中。另外,您是否在路由中使用map.resources?{:id=>…}可以工作。但我真的要把它放进去吗?我觉得如果我传入了带有所有标识数据的@product,Rails必须为我提供id。是的,map.resources是在routes中完成的。你使用的是什么版本的Rails?谢谢你的额外学分部分!太棒了。一直在寻找。谢谢你的额外学分部分!太棒了。我一直在找。
map.resources :products
class ProductsController < ApplicationController
  before_filter :load_product, :only => [:show, :edit, :update, :destroy]
  def load_product
    @product = Product.find(params[:id])
  end
end