在Rails中解析Route Server端

时间:2012-01-11 23:44:18

标签: ruby-on-rails routes

正如您在浏览器点击Rails中的网页时找出路线一样,您将如何在服务器端解决该问题?

例如,我想在API调用中返回一个名为Bookmark的RESTful资源的URL,并希望返回它的“show”操作,我知道:

Bookmark id: 12

然后我想将其解析为字符串:

'/bookmarks/edit/12' 

所以我可以从我的模型中得到这个例子。

我将如何做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:1)

在视图/控制器中几乎无处不在,您可以使用route helpers来干扰路由引用。

在模型中,您需要显式调用路径助手。

Rails.application.routes.url_helpers.edit_bookmark_path(id)#=> '/书签/ 12 /编辑'

在routes.rb中使用默认的资源路由生成器方法时,如

资源:书签

答案 1 :(得分:0)

我不确定我理解 - 你的服务器正在使所有这些路由工作 - 客户端的浏览器没有弄清楚路由是什么 - 你的应用程序正在这样做。

资源的路径始终作为辅助方法提供(至少在控制器和视图中)。因此,您应该在处理API调用的控制器中将字符串作为响应正文返回到您的某个操作中。

在命令行上检查rake routes,您将看到它们的列表。对于上面的示例,它可能会被称为edit_bookmark_path(12)