正如您在Rails中计算出浏览器访问网页时的路径一样,您将如何在服务器端解决它?
例如,我想在API调用中返回一个名为Bookmark的RESTful资源的URL,并希望返回它的"show"操作,我知道:
Bookmark id: 12
然后我想将其解析为字符串:
'/bookmarks/edit/12'
这样我就可以从我的模型中得到这个。
我该怎么做?
谢谢!
在视图/控制器中的几乎所有地方,您都可以使用路由助手来干燥路由引用。
在模型中,您需要像这样显式地调用路由助手
Rails.application.routes.url_helpers.edit_bookmark_path(id)#=>'/bookmark/12/edit'
在routes.rb中使用默认资源路线生成器方法时,如
资源:书签
我不确定我是否理解-你的服务器是让所有这些路由工作的东西-客户端的浏览器没有弄清楚路由是什么-你的应用程序在做这件事。
资源的路径始终可用作辅助方法(至少在控制器和视图中)。因此,您应该在处理API调用的控制器中,返回字符串作为其中一个操作的响应主体。
在命令行中检查您的rake routes
,您会看到它们的列表。在上面的例子中,它可能被称为edit_bookmark_path(12)