我们的rails 3.1.0应用程序中有rfqs和quotes控制器。 Rfq有许多报价并引用belongs_to rfq。我们希望列出索引中的所有引号,并且不能使用嵌套资源(资源:rfqs do ...)。现在我们面临着将rfq id传递到new_quote_path的挑战。什么是正确的方式来实现这一目标?非常感谢。如何在rails 3.1.0中使用命名路径传递对象?
回答
,你可以在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
我会管理这不是最优雅的解决方案,但它工作得很好。
+1。有些人似乎认为他们总是必须使用框架内置的任何东西,但是如果它不能以您想要的方式工作,那么“自己动手”或者只是做一些非常简单的事情并没有错“哑”。 – 2012-01-31 05:36:53
是否有可能将rfq id传递给引用控制器,如下所示:new_quote_path(:rfqid => @ rfq.id)并使用params [:rfqid]检索引用控制器中的rfqid?谢谢。 – user938363 2012-01-31 16:33:54
你有没有试过? – 2012-01-31 16:40:20
- 1. 如何在XML命名空间路径中传递通配符(*)?
- 2. 如何访问通过命名路由传递的对象
- 3. 将绝对路径传递给命令
- 4. 在Rails 3路径中重命名路径助手
- 5. 使用Javascript更改在rails路径中传递的参数
- 6. 如何在路径中传递变量
- 7. 命名路径如何在Ruby on Rails中工作?
- 8. 如何在rails 3.1.0中的rspec中检查更新的对象?
- 9. 如何将路径对象传递给新的活动(Android)
- 10. 的Ruby on传递对象命名路由
- 11. Rails的路由错误使用命名空间 - 的命名空间路径
- 12. 如何将params传递给Rails路径中的块?
- 13. 如何将URL路径传递给Rails中的form_for部分?
- 14. 规范在Rails 3.0.4中传递,在3.1.0.rc4中失败
- 15. 如何使用Spring Framework从类路径/名称创建对象?
- 16. 如何在Rails 3中将命名路由替换为资源路径?
- 17. 在命令行参数中传递应用程序的路径
- 18. 为什么我不能在路径名对象中使用“mkdir”?
- 19. 命名RESTful路径
- 20. 在Rebol中如何获取对象路径名(字符串)?
- 21. 如何在selenium webdriver中使用相对路径上传文件
- 22. 命名路由与对象
- 23. 什么是传递路径参数在角2 HTTP对象
- 24. 在Rebol中如何获取对象路径中的父对象?
- 25. 如何将一个“路径”传递给C#中的对象成员?
- 26. 如何将大数组传递给Rails路径?
- 27. 使用Segue传递对象
- 28. 如何在Python中传递对象作为命令行参数?
- 29. 使用didSelectRowAtIndexPath传递对象:
- 30. 如何在使用Rails 3的资源路径中使用不可数名词?
你可以举一些你之后的路由结构的例子吗?为什么你不能使用嵌套资源?看起来像你之后的解决方案 – 2012-01-31 05:19:23
如果使用嵌套资源,比如资源:rfq do resources:引用结束,那么index不能列出所有引号,只能引用特定rfq的引号。 – user938363 2012-01-31 16:01:56