У меня есть модель Customer, Item и Order. Клиент has_many Items через Заказы и has_many Orders. Пункт has_many Клиенты через Заказы и has_many Заказы. Заказ принадлежит Заказчику и Элементу. Я получаю ошибку ActiveRecord::UnknownAttributeError: unknown attribute 'customer_id' for Order.
при попытке сохранить через консоль:ActiveRecord :: UnknownAttributeError: неизвестный атрибут 'customer_id' для заказа
клиента модель:
class Customer < ActiveRecord::Base
has_many :orders
has_many :items, through: :orders
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
Item модель:
class Item < ActiveRecord::Base
has_many :orders
has_many :customers, through: :orders
end
Заказать модель:
class Order < ActiveRecord::Base
belongs_to :item
belongs_to :customer
end
Заказы стол:
class CreateOrders < ActiveRecord::Migration
def change
create_table :orders, id: false do |t|
t.belongs_to :customers, index: true
t.belongs_to :items, index: true
t.timestamps null: false
end
end
end
Командная консоль для сохранения заказа (обратите внимание, что cuban_sandwich и Крисом сохраняются в виде новых клиентов и пункт уже.)
order1 = chris.orders.build(customers_id: chris.id, items_id: cuban_sandwich.id)
Могли Я экономлю это неправильно? Или существует проблема с моими ассоциациями модели/таблицы?
Я все еще получаю то же сообщение об ошибке. – Ctpelnar1988
Извините, я пропустил ту часть вашей ошибки.Я обновил свой ответ, чтобы решить эту проблему. – MilesStanfield
'# <Заказ customers_id: nil, items_id: 2, created_at:" 2016-02-25 02:11:08 ", updated_at:" 2016-02-25 02:11: 08 ", customer_id: 1>' Должен ли я удалить t.belongs_to: customers, index: true? – Ctpelnar1988