在网址中确定当前帐户的范围

时间:2014-02-10 15:30:58

标签: ruby-on-rails ruby-on-rails-4 routes

Basecamp如何将其路线设置为限定为当前帐户?

basecamp.com/12345/

12345是一个帐号。如何设置路线以达到同样的效果?

我不想将帐号传递给我的所有路线。

new_account_post_comments_path(@account, @post)
# /account/12345/posts/12345

我想这样做:

new_post_comments_path(@post)
# /12345/posts/12345

换句话说,我不想将帐户对象传递给我的所有网址。

1 个答案:

答案 0 :(得分:2)

我猜测当前的account_id可能存储在一个会话中,路由看起来与此类似:

  scope "/:account_id", account_id: lambda{|request| request.session[:account_id]} do
    resources :posts
  end