Я строю текстовую службу, где есть много сообщений, привязанных к одному пользователю. Я бы хотел, чтобы сообщения были проиндексированы в таблицу пользователей через их from_number. Ниже приведено то, что я сделал, но я продолжаю получать ошибку метода.Получение неопределенного метода `принадлежит_to 'для # <ActiveRecord :: Миграция: ошибка
Я две следующие модели определены:
1) message.rb
class Message < ActiveRecord::Base
belongs_to :user
end
2) User.rb
class User < ActiveRecord::Base
has_many :messages
end
Ниже файл миграции Пытаюсь для бега через грабли 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
я получаю следующее сообщение об ошибке:
-- belongs_to(:user)
-- belongs_to(:user)
rake aborted!
NoMethodError: undefined method `belongs_to' for #<ActiveRecord::Migration:0x007ff453826f50>
Я определяю has_many и belongs_to ассоциаций в модели, но в соответствии с Разделом 2.1 здесь: http://guides.rubyonrails.org/association_basics.html
добавляет «t.belongs_to: клиенты, индекс : true "в файл миграции.
Благодарим за помощь!
Какую версию рельсов вы используете? Запустите 'rails -v' и обновите свой ответ. 'migration_to' в миграциях был добавлен в более поздние версии Rails, поэтому вы можете запускать Rails 3. –
' t.belongs_to: customer, index: true' why': customer'? – 7urkm3n
Какую версию рельсов вы использовали @ philip-cortes просто любопытно? –