Rails:从控制台检查path助手的输出

Rails定义了一系列具有命名路由的魔术,可以为你的路由创build助手。 有时候,特别是嵌套的路由,为了跟踪给定的路由帮助方法调用的URL,可能会有点困惑。 是否有可能使用Ruby控制台查看给定的帮助函数将生成的链接? 例如,给定一个像post_path(post)这样的名字助手,我想查看生成的URL。

你可以直接用rake routes显示它们。

在Rails控制台中,您可以调用app.post_path 。 这将工作在Rails〜= 2.3和> = 3.1.0。

你也可以

 include Rails.application.routes.url_helpers 

从控制台会话中访问帮助者:

 url_for controller: :users, only_path: true users_path # => '/users' 

在Rails控制台中,variables应用程序包含一个会话对象,您可以在其中调用path和URL助手作为实例方法。

 app.users_path 

您可以随时在控制台中检查path_helpers的输出。 只需使用助手与app

 app.post_path(3) #=> "/posts/3" app.posts_path #=> "/posts" app.posts_url #=> "http://www.example.com/posts" 

请记住,如果你的路线名称间隔,像:

 product GET /products/:id(.:format) spree/products#show 

然后尝试:

 helper.link_to("test", app.spree.product_path(Spree::Product.first), method: :get) 

产量

 Spree::Product Load (0.4ms) SELECT "spree_products".* FROM "spree_products" WHERE "spree_products"."deleted_at" IS NULL ORDER BY "spree_products"."id" ASC LIMIT 1 => "<a data-method=\"get\" href=\"/products/this-is-the-title\">test</a>"