【发布时间】:2016-08-25 02:51:46
【问题描述】:
是否可以同时为 :id 和 :token 设置路由参数?
有很多关于如何更改默认路由参数的资源:
resources :events, params: :token
def to_param
token
end
但是,我似乎找不到任何与允许某人通过 event_id 或 event_token 访问 Events#show 的“非此即彼”场景相关的内容。在我看来,以下是有道理的:
resources :events, params: :token || :id
背景故事: 我正在设置一个“共享链接”,以便没有帐户的用户可以查看事件页面,类似于谷歌文档。为此,将为每个事件生成一个唯一令牌,创建一个网络安全 URL (Protected sharing link in Ruby on Rails)。我面临的问题是尝试同时使用 event_id 和 event_token 来维护路由,因为帐户持有人也在查看事件页面,通过 id 查找事件要容易得多。
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby routes