Ich möchte das Gerüst in einer Rails-App generieren, das Modell wie gewohnt generieren, aber den Controller im Admin-Namespace. Ist es möglich?Kann Gerüst erzeugen den Controller in einem Namensraum setzen?
Antwort
Das erste Mal, dass ich es getan habe, laufe ich
script/generate scaffold blog
und Refactoring dann den Controller, Ansichten etc. im Moment Meine bevorzugte Lösung ist:
script/generate scaffold admin::blog
und dann Refactoring das Modell, Komponententest und Migration; es ist weniger Arbeit.
Wenn es eine bessere Antwort gibt, werde ich es akzeptieren.
Diese Frage wird ziemlich häufig auf Stackoverflow gestellt. Und ich habe mich auch diesem Problem gestellt und keine Standardlösung dafür gefunden.
Also habe ich rails-admin-scaffold gem erstellt (für jetzt ist es nur Rails 4), die diesen Prozess automatisiert und schrieb an article mit detaillierteren Erklärung. Ich hoffe, es wäre hilfreich für jemanden.
Ich habe ein Modell namens Admin und Ihr Juwel funktioniert nicht –
@ArnoldRoa Ich stieß auch auf solche Probleme. Wenn es ein Modell namens Admin gibt, dann ist es unmöglich, den Namensraum "Admin" zu haben - weil Rails es mit einem Modul mit demselben Namen benennen würden - daher wäre es ein Namenskonflikt. – songyy
Sie können dies für Schienen tun < 3:
script/generate scaffold Blog title:string
oder
script/generate scaffold admin::blog title:string
Für Schienen> 3:
rails g scaffold Blog title:string
oder
rails g scaffold admin/blog title:string
Admin/Blog funktioniert etwas besser für mich, aber es ist nur ein wenig und möglicherweise völlig subjektiv. – ere
in Rails> 3 'Schienen g Gerüst Admin/Blog' –