Ho una serie di controller e viste associate all'interno della mia app che esistono all'interno dello spazio dei nomi Admin
. Voglio che queste viste utilizzino un layout diverso rispetto a quelle nel namespace principale, così posso dare loro un aspetto diverso rispetto al sito normale. C'è un modo per farlo usando la funzionalità integrata di Rails? So che se ho una classe PostController
e creo una vista posts.html.erb
nella directory layouts questa sarà usata come layout per qualsiasi vista del controller, c'è qualcosa di simile che posso fare per i controller con nomi?Fornire un layout predefinito per le viste all'interno di un namespace
risposta
Crea classe AdminController personalizzato per i controllori del vostro amministratore che si sta andando a ereditare da. Questo AdminController eredita da ApplicationController e sovrascrive il layout.
class AdminController < ApplicationController
layout "admin"
end
class Admin::PostController < AdminController
end
È possibile ignorare layout di default per qualsiasi controller con layout metodo
Non è necessario il metodo layout
. Dovresti inserire i file di layout per lo spazio dei nomi in views/layouts/<namespace>
.
Esempio spazio dei nomi con nome 'foo
':
Controller: app/controllers/foo/bar_controller.rb
Layout per questo controller: app/views/layouts/foo/bar.html.erb
Ciò significherebbe che devi creare un layout per ogni vista di namespace – chrisan
credo si otterrà la risposta esatta alla tua domanda in questa bella screencast da Ryan Bates.
http://railscasts.com/episodes/269-template-inheritance
(vale a dire se si sta utilizzando Rails 3.1)
- 1. come utilizzare le viste dichiarate in un file xml di un layout in un altro layout
- 2. Fornire un valore predefinito per un Opzionale in Swift?
- 3. Fornire un metodo "fail" predefinito per un oggetto differito jQuery
- 4. Esiste un modo per fornire un valore predefinito per un alias di ambito isolato?
- 5. Layout predefinito per ArrayAdapter
- 6. Python ElementTree namespace predefinito?
- 7. Namespace (predefinito) in JDOM
- 8. Zend Framework: rendering di più viste in un layout
- 9. Come elencare le funzioni di un namespace?
- 10. Esiste un progetto C Layout directory predefinito?
- 11. Come fornire un valore predefinito per un parametro di tipo delegato in C#?
- 12. Definizione del layout. "Devi fornire un attributo layout_width."
- 13. Arresta Android dal layout di tutte le mie viste
- 14. XPath e PowerShell - namespace predefinito
- 15. UICollectionView: esiste un modo per ricaricare solo le viste supplementari?
- 16. Lama laravel: puoi fornire un partial default
- 17. Come centrare due viste in un layout relativo?
- 18. come disattivare le viste dietro popup relativo layout - android
- 19. Creazione di un layout che accetta un numero variabile di viste (e quindi regioni)
- 20. Come evitare che le viste si sovrappongano nel relativo layout?
- 21. costruttori all'interno di un namespace
- 22. Nancy.ViewEngines.Razor v0.12.1.0 supporta le viste Layout amd _ViewStart?
- 23. "strumenti" Android namespace nel layout documentazione XML
- 24. Django. Un buon tutorial per le viste basate sulla classe
- 25. Fornire il valore predefinito per la funzione prop in React
- 26. Asp.Net MVC layout e viste parziali
- 27. Un modo semplice per eseguire un layout dinamico ma quadrato
- 28. nrepl.el e leiningen 2 namespace predefinito?
- 29. Come fornire un codice personalizzato per InitializeComponent?
- 30. Come fornire autorizzazioni SPGroup per un SPItem?
questo è quasi un duplicato di, e sicuramente correlate a: http://stackoverflow.com/questions/4221856/rails-3- layout-per-namespaces-route – OnePablo