1

在我正在构建的 Rails 应用程序中,我有一个名为buckets.

我现在的任务是为这些存储桶创建秘密链接,例如 -

http://myapp.dev/x/:secret_unique_hash_for_bucket_one/

- 映射到 -

http://myapp.dev/buckets/1

- 不暴露实际ID。

我还需要此秘密链接上的所有操作和子资源才能正常工作,例如 -

http://myapp.dev/x/:secret_unique_hash_for_bucket_one/edit
http://myapp.dev/x/:secret_unique_hash_for_bucket_one/ideas/1

最后,我还要求 url 助手 ( edit_bucket_path) 保留资源 ID 的保密性。

一个最好的结构如何?

4

1 回答 1

0

创建存储桶时,您可以将 Bucket 模型属性(或其中一些,显然不仅仅是 id)散列到 SHA256 并与您的模型一起保存。然后在您的模型 Bucket 模型中覆盖该to_param方法。

def to_param
  self.hashed
end

然后您的路线将使用您的散列属性而不是默认为 id。

于 2013-07-21T13:14:31.483 回答