2011-01-21 2 views
0

У меня есть некоторые модели, названные GameItem, InventoryItem, инвентарь, Пользователь, Bonuse и Bonuses_Game_ItemsМодель ассоциации, несколько моделей в Rails

пользователь имеет один инвентарь.
Пользователь имеет множество предметов инвентаря через инвентарь.
Игровой предмет имеет и принадлежит ко многим бонусам через Bonuses_Game_Items.
В инвентаре есть много элементов InventoryItems.
InventoryItem - это как (inventory_id, game_item_id).

Просто игровой элемент является статическим представлением элемента в db, в то время как элемент инвентаря представляет собой комбинацию элемента и инвентаря пользователя. Вопрос:

как я могу получить бонусы из инвентаря_именем? какие ассоциации я должен использовать? Я не могу понять.

ответ

0

Hei там,

Я не уверен, если я правильно понимаю, но я буду стараться, чтобы помочь вам, так как у меня была аналогичная проблема (как кажется).

Прежде всего, я правильно понимаю, что InventoryItems принадлежит GameItems? Это отношение определено в ваших моделях?

Если это так, я считаю, что-то вроде этого

@inventoryitem.game_item.bonuses 

Посмотрите здесь Rails API ActiveRecord::Associations если вы определили отношения в модели, то вы должны быть в состоянии использовать линию выше.

То есть, если ваши модели выглядят несколько как

InventoryItemModel 
belongs_to => :game_items 

Я надеюсь, что это помогает. Не удалось проверить, поскольку на этом компьютере нет Rails.

Cheers

+0

yeap, я действительно нашел решение, но вы абсолютно правы. @ inventoryitem.game_item.bonuses - правильное использование, и после некоторого <%= debugs %> я тоже это увидел. Thanx в любом случае :) – Spyros

Смежные вопросы