[英]rails - Pass id parameter on a link_to
我正在尝试将当前页面(id)的参数传递给下一页,以便创建依赖模型条目。
即项目有投标,投标属于项目。
所以在项目的展示页面上我添加了链接
<%= link_to "New Bid", new_bid_path(@project) %>
这创建并执行网址....“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%>
有了这些信息,您将看到(并了解)您向控制器发送了哪种类型的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.