如何在rails 3.1.0中传递带有命名路径的对象?

时间:2012-01-31 05:11:06

标签: ruby-on-rails ruby-on-rails-3.1

我们的rails 3.1.0 app中有rfqs和引用控制器。 Rfq有很多报价,引用belongs_to rfq。我们想列出索引中的所有引号,我们不能使用嵌套资源(资源:rfqs do ...)。现在我们面临将rfq id传递给new_quote_path的挑战。什么是正确的方法来实现这一目标?非常感谢。

1 个答案:

答案 0 :(得分:2)

您可以将routes.rb中的路径添加到您想要的控制器

match "/rfqs/:id/quotes/:qoute_id" => 'rfq#show'

然后从您的观点链接到它:

href="/rfqs/<%=rfq.id%>/quotes/<%=qoute.id%>"

并在您的控制器中处理

if params[:id] && params[:qoute_id]
  @rfq = RFQ.find(params[:id])
  @quote = Quote.find(params[:qoute_id])
end

我管理员这不是最优雅的解决方案,但它的工作正常。