rails routeのパスにidを使う

テーブル

t.string :access_token, :null => false

コントローラー

after_initialize :set_access_token

private
def set_access_token
  self.access_token = self.access_token.blank? ? generate_access_token : self.access_token
end                                                                                                                                                                                          

def generate_access_token
  tmp_token = SecureRandom.urlsafe_base64(6)
  self.class.where(:access_token => tmp_token).blank? ? tmp_token : generate_access_token
end

ルート設定

resources :schedules, param: :access_token

参考

http://qiita.com/ainame/items/eb9dcf7862630c44d5e9
http://qiita.com/mudai/items/34501ddd2f0bd834f303