【问题标题】:Rails routes - using associated model attribute as route rootRails 路由 - 使用关联的模型属性作为路由根
【发布时间】:2013-02-01 16:24:08
【问题描述】:

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

现在他们的路线是 rails 标准的“user/3”。

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

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

我将如何做到这一点?

【问题讨论】:

    标签: ruby-on-rails routes


    【解决方案1】:

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

    redirect_to user.organization

    而不是redirect_to user

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 他们的嵌套资源示例是 magazines/:magazine_id/article/"id。我正在寻找 ":organization_name/whatever",其中组织名称会根据 user.organization 发生变化
      【解决方案3】:

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

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

      def to_param
          name
      end
      

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

      组织控制器..

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-01
        • 2014-04-15
        • 2016-09-09
        相关资源
        最近更新 更多