【发布时间】:2018-02-02 11:49:19
【问题描述】:
我有两个模型 - Post 和 Page,它们都有从第一个斜杠开始的路径。例如:
- domain.com/first-slug - 这是帖子
- domain.com/second-slug - 这是页面
我可以像这样创建控制器,作为 ContentController 和处理 slug:
class ContentsController < ApplicationController
def show
@page = Page.find_by(slug: params[:id])
@post = Post.find(params[:id]) unless @page
end
end
但是我对 gems 有一些问题,它使用 controller_name 方法来定义模型类。
第二种解决方案,当我使用 PageController 和 PostController 和路由时:
get '/*id', to: 'pages#show', as: :page
get '/*id', to: 'posts#show', as: :post
当然会发生无限循环
还有其他方法可以解决这种非标准方法吗?
【问题讨论】:
标签: ruby-on-rails slug friendly-id