Rails:如何创建像" mysite.com/fFD2Zad"而不是" mysite.com/?var = fFD2Zad"

时间:2015-09-22 07:37:58

标签: ruby-on-rails

我希望用户有代码邀请其他用户访问该网站。我知道如何生成随机字符串,但我怎样才能使每个用户都有一个链接,例如" mysite.com/fFD2Zad"使用代码而不是像#34; mysite.com/?var = fFD2Zad"?

这样的庞大链接

2 个答案:

答案 0 :(得分:4)

Rails.application.routes.draw do
  get '/:invitation_code', to: 'users#welcome'
end

class UsersController < ApplicationController
  def welcome
    p params
  end
end

检查yourserver.com/fFD2Zad

#=> {"controller"=>"users", "action"=>"welcome", "invitation_code"=>"fFD2Zad"}

答案 1 :(得分:1)

您可以在get '/:user_code', to: 'users#profile', user_code: /[a-zA-Z0-9]{7}/

的末尾添加最低优先级路线
def profile
  # => params[:user_code]
  ...
end

在你的控制器中处理它:

NDEBUG