373 Stimmen

Geländer: Wie kann man `rails generate scaffold` ausführen, wenn das Modell bereits existiert?

Ich bin neu in Rails so mein aktuelles Projekt ist in einem seltsamen Zustand.

Eines der ersten Dinge, die ich erstellt habe, war ein "Movie"-Modell. Dann begann ich, es genauer zu definieren, fügte ein paar Methoden hinzu usw.

Jetzt ist mir klar, dass ich es mit rails generate scaffold um Dinge wie Routing, Ansichten, Controller usw. einzubinden.

Ich habe versucht, das Gerüst zu erstellen, aber ich erhielt die Fehlermeldung, dass eine Migrationsdatei mit demselben Namen bereits existiert.

Wie kann ich jetzt am besten ein Gerüst für meinen "Film" erstellen? (mit Schienen 3)

11voto

Deepak Mahakale Punkte 20945

Sie können Folgendes nutzen scaffold_controller und denken Sie daran, die attributes des Modells, oder das Gerüst wird ohne die Attribute erstellt.

rails g scaffold_controller User name email
# or
rails g scaffold_controller User name:string email:string

Dieser Befehl erzeugt folgende Dateien:

create  app/controllers/users_controller.rb
invoke  haml
create    app/views/users
create    app/views/users/index.html.haml
create    app/views/users/edit.html.haml
create    app/views/users/show.html.haml
create    app/views/users/new.html.haml
create    app/views/users/_form.html.haml
invoke  test_unit
create    test/controllers/users_controller_test.rb
invoke  helper
create    app/helpers/users_helper.rb
invoke    test_unit
invoke  jbuilder
create    app/views/users/index.json.jbuilder
create    app/views/users/show.json.jbuilder

5voto

Promise Preston Punkte 15324

Diese Herausforderung stellte sich mir bei der Arbeit an einem Schiene 6 API-Anwendung in Ubuntu 20.04 .

Ich hatte bereits existierende Modelle, und ich musste sie generieren entsprechende Steuerungen für die Modelle und fügen auch ihre zulässige Attribute im Controller-Parameter .

So habe ich es gemacht :

Ich habe die rails generate scaffold_controller um es zu schaffen.

Ich habe einfach die folgenden Befehle ausgeführt:

rails generate scaffold_controller School name:string logo:json motto:text address:text

rails generate scaffold_controller Program name:string logo:json school:references

Dadurch wurde die entsprechende Steuerungen für die Modelle und fügten auch ihre zulässige Attribute im Controller-Parameter , einschließlich der Fremdschlüssel Attribute.

create  app/controllers/schools_controller.rb
invoke  test_unit
create    test/controllers/schools_controller_test.rb

create  app/controllers/programs_controller.rb
invoke  test_unit
create    test/controllers/programs_controller_test.rb

Das ist alles.

Ich hoffe, das hilft

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X