rails - 在link_to上传递id参数

Chr*_*len 25 ruby ruby-on-rails

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

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

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

<%= link_to "New Bid", new_bid_path(@project) %>
Run Code Online (Sandbox Code Playgroud)

这创建并执行网址...."http:// localhost:3000/bid/new.2"

我有

def new
    @bid = Bid.new
    @project =  Project.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)

在出价控制器中,但我一直收到错误"无法找到没有ID的项目"

???

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

Bit*_*rse 53

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

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

def new  
  @bid = Bid.new  
  @project =  Project.find(params[:project])  
end
Run Code Online (Sandbox Code Playgroud)

除此以外:

#routes.rb

map.resources :projects do |project|  
  project.resources :bids
end
Run Code Online (Sandbox Code Playgroud)

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

def new  
  @project =  Project.find(params[:project_id])    
  @bid = @project.bids.build  
end  
Run Code Online (Sandbox Code Playgroud)

  • 你不知道我一直在寻找这个多长时间.谢谢. (4认同)