我有一个Book模型实例,并且想给它一个href字符串给定它的路由。例如:

someEmberJSMethod('book.edit', aBookInstance) #=> "/books/12/edit"

给定路线:

@resource "books", ->
    @route "edit", path: "/:book_id/edit"


我尝试查看Ember.js源以及给定路由名称和实例的link-to助手如何生成href,但是没有找到答案。

最佳答案

您可以通过访问路由器来生成same way the link view does的路由:

App.Router.router.generate('book.edit', aBookInstance) # => '/books/12/edit'


您没有提供应用程序的上下文或此请求的发生位置。例如,如果您使用的是Ember CLI,并且位于控制器内,则必须使用以下内容查找路由器:

@get('container').lookup('router:main')

10-05 21:00
查看更多