我有两个模型 - 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
当然发生无限循环
还有其他方法可以解决这种非标准方法吗?
答案 0 :(得分:0)
当然,我必须在路径中使用约束。例如:
$_POST['g-recaptcha-response']