Ich folge dem Buch: "Rails, Angular, Postgres und Bootstrap". Irgendwann schrieb der Autor eine neue Migration, mit diesem Code:Rails, Uninitialized Konstante nach Rake db: migrieren
class AddAddresses < ActiveRecord::Migration
def change
create_table :states do |t|
t.string :code, size: 2, null: false
t.string :name, null: false
end
create_table :addresses do |t|
t.string :street, null: false
t.string :city, null: false
t.references :state, null: false
t.string :zipcode, null: false
end
create_table :customers_billing_addresses do |t|
t.references :customer, null: false
t.references :address, null: false
end
create_table :customers_shipping_addresses do |t|
t.references :customer, null: false
t.references :address, null: false
t.boolean :primary, null: false, default: false
end
end
end
Hier ist, was ich getan habe:
rails g migration add-addresses
kopiert und eingefügt den Code oben in der generierten Migrationsdatei
rake db:migrate
Dies geschieht:
== 20161211174928 AddAddresses: migrating =====================================
-- create_table(:states)
-> 0.0140s
-- create_table(:addresses)
-> 0.0129s
-- create_table(:customers_billing_addresses)
-> 0.0115s
-- create_table(:customers_shipping_addresses)
-> 0.0142s
== 20161211174928 AddAddresses: migrated (0.0529s) ============================
rails c
State.last
verursacht dies:NameError: uninitialized constant State
habe ich geprüft, ob 'Staat' war um:
ActiveRecord::Base.connection.tables.map do |model| model.capitalize.singularize.camelize end
führt zu:
["SchemaMigration", "ArInternalMetadatum", "User", "Customer", "State", "Address", "CustomersBillingAddress", "CustomersShippingAddress"]
Da 'Staat' klar ist, ich bin ratlos, was das Problem ist. Irgendwelche Vorschläge?
PS: Ich habe bereits versucht, diese, aber das Problem bleibt:
rake db:drop:all
rake db:create:all
rake db:migrate
Aber warum in aller Welt ist der Autor des Buches das nicht zu sagen? Danke – Metaphysiker
Ich habe keine Ahnung von diesem Buch. Bist du sicher, dass du alles im Buch befolgt hast? –
Er referenziert tatsächlich eine frühere Seite in dem Buch, wo er dies getan hat: Rails g Modell Kunde first_name: string \ last_name: string \ E-Mail: string \ username: string. Aber war das wirklich zu viel, um es aufzuschreiben? Vielen Dank – Metaphysiker