Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как обратиться к из одной модели к атрибуту другой модели через has many through

377
16 февраля 2015 года
nosferatu
86 / / 17.12.2002
Итак, есть у меня следущие модели:
- модель Клиент - Customer (связан с PriceGroup по id)
- модель Ценовая группа - PriceGroup (только имена ценовых групп) для разных ценовых групп цена товара разная
- модель Товар - Item (наименование товара, описание, все, кроме цены)
- модель-свзяка Ценовой группы и Товара - называется PriceGroupLine (тут связка id товара-id ценовой группы + цена товара)

Я хочу, что бы при выводе вьюхи для Customer, в этой же вьюхе выводилась:
1. Ценовая группа (т.е. наименование из модели PriceGroup)
2. Товары этой ценовой группы (наименование из Item, цена из PriceGroupLine)

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

Модель Item

Код:
class Item < ActiveRecord::Base
has_many :price_group_lines
has_many :price_groups, through: :price_group_lines

attr_accessible :item_name, :item_id

validates :item_name, presence: true

def to_label
"#{item_name}"
end

end


class PriceGroup < ActiveRecord::Base
has_many :customers

has_many :price_group_lines
has_many :items, through: :price_group_lines

attr_accessible :price_group_name

validates :price_group_name, presence: true

def to_label
"#{price_group_name}"
end
end


class PriceGroupLine < ActiveRecord::Base
belongs_to :item
belongs_to :price_group

attr_accessible :item_id, :price_group_id, :price, :item, :price_group

validates :price, :item_id, :price_group_id, presence: true

end
--------------------
Вьюха контроллера Price Group
 
Код:
<h1> Ценовая группа </h1>

<p> <%= @pg.price_group_name %> </p> <br>

<% @pg.items.each do |i|%>
<%= i.item_name %>
<% end %>
<br>

<%= link_to "Список групп", price_groups_path %>
Т.е. Price Group содержит много Price Group Line, каждый со своей ценой price

Разобрался с ассоциациями, могу выводить в цикле наименования товаров, не знаю как обратиться к цене в модели Price Group Line
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог