使用令牌打开记录

时间:2015-01-20 01:44:07

标签: ruby-on-rails ruby activerecord token

我正在构建一个RoR应用程序,其中每个记录都有一个唯一的7字符标记(十六进制)。我想在页面上创建链接,用户可以在该页面上提供该令牌并将其带到该记录的编辑路径。我已经搜过了WWW,似乎无法找到一种干净的方法来完成这项任务。

有什么想法吗?

我意识到我有轻微的重复风险,但这将是一个新奇的应用程序比什么都重要。

1 个答案:

答案 0 :(得分:1)

Rails中的虚荣网址

如果您希望能够导航到/model/5na09zn而不是/model/{id}

  

1。 config/routes.rb

resources :model

---变成--->

resources :model, :except => ['show', 'update', 'destroy']

get    'posts/:hex_token' => 'model#show', :as => 'model'
put    'posts/:hex_token' => 'model#update'
delete 'posts/:hex_token' => 'model#destroy'
  

2。 app/controllers/model.rb

     

为所有节目,更新和销毁执行此操作:

     

(更好的是,编写一个控制器函数来自动处理它!)

def show
    @model = Model.find(params[:id])
       ...
end

---变成--->

def show
    @model = Model.find_by_hex_token(params[:model])    
       ...
end