Не работает ассоциация has_many/belongs_to
задал [без логина] 4 месяца назад
У меня есть таблица cart(корзины), product(продукты, есть поле price), line_items(товарные позиции, с полями cart_id, product_id, quantity).
Мне надо подсчитать сумму всего заказа, которые находится в данной корзине.
Пример таблицы line_items
id | product_id | cart_id | created_at | updated_at | quantity
62 | 1 | 72 | 2013-04-20 13:58:32.783384 | 2013-04-20 14:07:00.66162 | 6
63 | 2 | 72 | 2013-04-20 14:07:09.289013 | 2013-04-20 14:07:10.130877 | 2
Есть вид:
Есть модель LineItem:
Не хочет работать выдает ошибку: undefined local variable or method product' for #<Cart:0xb61e3050>`
Дополнительный вопрос по теме: допустим есть какой-то метод в модели, как я могу обратиться к нему из любого вида?
Мне надо подсчитать сумму всего заказа, которые находится в данной корзине.
Пример таблицы line_items
id | product_id | cart_id | created_at | updated_at | quantity
62 | 1 | 72 | 2013-04-20 13:58:32.783384 | 2013-04-20 14:07:00.66162 | 6
63 | 2 | 72 | 2013-04-20 14:07:09.289013 | 2013-04-20 14:07:10.130877 | 2
Есть вид:
<span>Cost: <strong><%= number_to_currency(@cart.total_price) %></strong></span>`
Есть модель cart:
class Cart < ActiveRecord::Base
# attr_accessible :title, :body
has_many :line_items, dependent: :destroy
end
public
def total_price
line_items.to_a.sum {|item| item.total_price}
end
Есть модель LineItem:
class LineItem < ActiveRecord::Base
attr_accessible :cart_id, :product_id
belongs_to :cart
belongs_to :product
end
public
def total_price
product.price * quantity
end
Не хочет работать выдает ошибку: undefined local variable or method product' for #<Cart:0xb61e3050>`
Дополнительный вопрос по теме: допустим есть какой-то метод в модели, как я могу обратиться к нему из любого вида?
Комментарии к этому ответу:
— написал [без логина]
— написал Роман Снитко