rails – 在link_to上传递id参数

我正在尝试将当前页面(id)的参数传递给下一页,以便创建依赖模型条目。

即项目有投标,投标属于项目。

所以在项目的展示页面上我添加了链接

 

这创建并执行url….“http:// localhost:3000 / bid / new.2”

我有

 def new @bid = Bid.new @project = Project.find(params[:id]) end 

在出价控制器,但我不断收到错误“无法找到没有ID的项目”

???

怎么回事,为什么我不能通过身份证?

如果您的出价不是项目的嵌套资源,则可以将project_id作为参数添加到路径中:

<%= link_to "New Bid", new_bid_path(:project => @project.id) %>

 def new @bid = Bid.new @project = Project.find(params[:project]) end 

除此以外:

 #routes.rb map.resources :projects do |project| project.resources :bids end 

<%= link_to "New Bid", new_project_bid_path(@project) %>

 def new @project = Project.find(params[:project_id]) @bid = @project.bids.build end 

解决这类问题的好方法,看看你用params发送了什么。 这可以通过调试完成。

 <%= debug params # or any variable%> 

有了这些信息,您将看到(并了解)您向控制器发送了哪种类型的参数。