Kürzlich habe ich über Schienen Bedenken in Routen von dieser Diskussion How to have one resource in routes for namespace and root path altogether - Rails 4 kennen gelernt. Jetzt in meiner Anwendung habe ich Routen wie folgt:Routing-Probleme definieren unterschiedliche Parameter für Ressourcen
namespace :admin do
resources :photos
resources :businesses
resources :projects
resources :quotes
end
resources :photos, param: 'slug'
resources :businesses, param: 'slug' do
resources :projects, param: 'slug' #As I need both the url one inside business and one outside
end
resources :projects, param: 'slug'
resources :quotes, param: 'slug'
Und es gibt viele weitere Ressourcen, die wiederholen, wie ich sie brauchte. Ich weiß über Bedenken, wie sie umgesetzt werden können. Mit den Bedenken kann ich es wie folgt tun:
concern :shared_resources do
resources :photos
resources :businesses
resources :projects
resources :quotes
end
namespace :admin do
concerns :shared_resources
end
concerns :shared_resources
aber wie kann ich geben verschiedene param
jedes Mal in den Anliegen? Ich habe es so gemacht:
concerns :shared_resources, param: 'slug'
Aber das bringt keine Änderung in den Routen. Und wenn ich hinzufügen:
resources :photos, param: 'slug'
Dann wird es zu beiden Routen Slug statt ID hinzufügen. Aber in Admin-Seite brauche ich ID und im Front-End brauche ich Slug. Gibt es also Möglichkeiten, dies in den Belangen so zu übergeben, um den Code zu DRY zu machen.
Danke für die Antwort erhalten sehen, aber leider hat das nicht funktioniert Ich habe keine Änderungen gefunden. Hast du das jemals versucht? Bedeutet, wenn das für dich funktioniert hat. – Deep
Hmm, ich war mir nicht sicher, aber in der Frage, die ich verlinkt habe, haben sie Parameter verwendet, die wie '$ {concern_name} _etwas 'aussahen. Können Sie mit dieser Syntax versuchen, wenn es funktioniert? Um ehrlich zu sein habe ich es nicht selbst versucht, aber angesichts der Upvotes der Antwort dachte ich, es würde funktionieren ... –
Es hat hier funktioniert! Danke: D –