J'ai deux modèles - Post et Page et leurs deux ont un chemin commençant à partir de la première barre oblique. Par exemple:Friendly_id et deux slug commencent à partir de la racine
- domain.com/first-slug - il est post
- domain.com/second-slug - c'est la page
Je peux créer le contrôleur, comme ContentController et slug processus comme celui-ci:
class ContentsController < ApplicationController
def show
@page = Page.find_by(slug: params[:id])
@post = Post.find(params[:id]) unless @page
end
end
mais j'ai un problème avec des pierres précieuses, qui utilisent la méthode nom_contrôleur pour d Classe de modèle efine.
Deuxième solution, quand j'utilise PageController et PostController et routes comme:
get '/*id', to: 'pages#show', as: :page
get '/*id', to: 'posts#show', as: :post
un cycle infini se produit bien sûr
Existe-t-il d'autres moyens de résoudre cette approche non standard?