Ich baue einen SMS-Dienst, wo viele Nachrichten an einen einzelnen Benutzer gebunden sind. Ich möchte, dass Nachrichten über ihre from_number an die Benutzertabelle indiziert werden. Unten ist was ich getan habe, aber ich bekomme immer einen Methodenfehler.Nicht definierte Methode `gehört_zu 'für # <ActiveRecord :: Migration: Fehler
Ich habe die folgenden zwei Modelle definiert:
1) message.rb
class Message < ActiveRecord::Base
belongs_to :user
end
2) User.rb
class User < ActiveRecord::Base
has_many :messages
end
Das folgende ist die Migrationsdatei Ich versuche über Rake zu laufen db: migrate:
class UsersMessages < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :user_name
t.string :from_number
t.timestamps null: false
end
create_table :messages do |t|
t.belongs_to :user, index: true
t.string :message_body
t.string :from_number
t.timestamps null: false
end
add_index :users, :from_number, :unique => true
end
end
Ich halte die folgende Fehlermeldung erhalten:
-- belongs_to(:user)
-- belongs_to(:user)
rake aborted!
NoMethodError: undefined method `belongs_to' for #<ActiveRecord::Migration:0x007ff453826f50>
ich die has_many und belongs_to Verbände im Modell zu definieren, sondern gemäß Ziffer 2.1 hier: http://guides.rubyonrails.org/association_basics.html
ich fügen Sie den „t.belongs_to: Kunde, Index : true "Linie zur Migrationsdatei.
Vielen Dank für Ihre Hilfe !!
Welche Version von Schienen verwenden Sie? Bitte führen Sie 'rails -v' aus und aktualisieren Sie Ihre Antwort. 'gehört_zu' in Migrationen wurde in den späteren Versionen von Rails hinzugefügt, so dass Sie möglicherweise Rails 3 ausführen. –
' t.belongs_to: customer, index: true' why ': customer'? – 7urkm3n
Welche Version von Rails benutzt du @philip-cortes nur neugierig? –