Rails路由 - 使用关联的模型属性作为路由根

时间:2013-02-01 04:38:24

标签: ruby-on-rails routes

我有一个用户注册并登录。

现在他们的路线是铁路标准"用户/ 3"。

用户属于某个组织。一个组织有很多用户。

我希望该组织的所有用户在登录时都拥有网址http://mysite.com/:organization

我将如何做到这一点?

3 个答案:

答案 0 :(得分:1)

我不确定您的身份验证是如何设置的,或者您正在使用什么来处理身份验证,但可能是当用户成功登录时,您只需更改登录操作中的重定向。类似的东西:

redirect_to user.organization

而不是redirect_to user

答案 1 :(得分:1)

您需要浏览嵌套资源。请查看http://guides.rubyonrails.org/routing.html#nested-resources

更新:更合适的答案

我认为这更适合您的情景http://api.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Scoping.html#method-i-scope

答案 2 :(得分:0)

你必须做这样的事情......

首先在组织模型中添加一个方法,以便在url中显示名称而不是id

def to_param
    name
end

并根据需要更新您的路线,并显示该组织用户的功能

组织控制器..

def show
  @organization = Organization.find(params[:organization])
  @users = @organization.users
end

登录后将用户重定向到用户组织显示路径。