создание моделей с помощью sqlite3 + datamapper + ruby - PullRequest
0 голосов
/ 08 октября 2010

Как построить модель со следующими ассоциациями (я пытался, но не смог заставить ее работать):

каждый ордер имеет: Customer, SalesRep, множество OrderLine, каждый из которых имеет элемент .

Я пытался: когда я делаю: Customer.all (Customer.orders.order_lines.item.sku.like => "% BLUE%") вывод: []
вместо: '[# <"Customer @ id = 1 @ name =" Дэн Кубб ">]'

Когда я удаляю SalesRep: он работает.

Клиент
имеет n: заказы
имеет n,: items,: through =>: заказ

SalesRep
имеет n: заказы
имеет n,: items,: through =>: заказ

Заказать
принадлежат: клиенту
принадлежат: техник
имеет n,: order_lines
имеет n,: items,: through =>: order_line

OrderLine
принадлежат: заказ
принадлежат: предмет

Предмет
имеет n: order_lines

1 Ответ

0 голосов
/ 02 ноября 2010

Поскольку вывод не является ошибкой, возможно, у вас нет данных в вашей базе данных.

Попробуйте следующее с irb -r your_models_file.rb: - c = Customer.create(:name => "Dan Kubb")

  • o = Order.new(:customer => c) # Create and add technician unless it's :required => false
  • i = Item.create(:sku => "BLUE") # Plus any other required fields
  • ol = OrderLine.create(:order => o, :item => i)
  • o.order_lines << ol; o.save

Это должно создать записи, необходимые для этой работы. Попробуйте, и если это не сработает, опубликуйте весь файл моделей, чтобы мы могли лучше понять, что случилось.

...