【发布时间】:2014-12-11 01:02:22
【问题描述】:
也许我误解了 Friendly_id gem 的功能,但我也没有找到任何其他方法来实现这一目标:
我有一个应用程序,用户可以在其中获取他们自己的页面 URL,类似于 facebook 所做的(例如http://www.notfacebook.com/mypermalink)。我已经具备这种能力。也类似于 facebook,我想让页面有自己的 URL(例如http://www.notfacebook.com/pagepermalink)。
我添加了 friendly_id gem,认为它能够检查 User.permalink 和 Page.permalink 之间的唯一性 - 跨两个不同表/模型中的列的唯一性。相反,我得到了一个类似于 http://www.notfacebook.com/pages/pagepermalink 的页面 URL 模式。
我不能用
resources :pages, path: ''
也没有
get '/:friendly_id', to: 'pages#show'
在 routes.rb 中,因为这不适用于我现有的用户永久链接路由。
有没有办法在我的应用中获取唯一页面和用户永久链接?
我正在考虑使用自定义子域而不是永久链接,但我使用的是 heroku,根据我的阅读,即使我有自己的域名,我也不能在 heroku 上使用子域。那是对的吗? (是的,这是一个单独的问题。)
【问题讨论】:
-
我认为我需要的是一个拥有_many 个页面和拥有_many 个用户的站点模型。 Sites 表将有一个永久链接列。这样 /:permalink 可以路由到页面和用户的唯一登录页面 - notfacebook.com/permalink 如果页面子页面具有 url 模式 notfacebook.com/pages/pagepermalink/subpage 用户子页面仍将具有模式 notfacebook.com/userpermalink/subpage 用户和页面是否仍需要永久链接列,这可能很好子页面路由工作?似乎是多余的。
标签: ruby-on-rails permalinks unique-constraint friendly-id wildcard-subdomain