Позвольте мне описать то, что я хочу сделать:
Существует модель матча, который должен иметь информацию о том, что игроки и какие кланы приняли участие в нем, с разделением домашних игроков и кланов и прочь игроков и клана.
Это довольно просто, но есть еще одна модель: Summoner. В каждом матче у каждого игрока есть другой summoner, и мне нужно сделать что-то вроде этого: Match.find(1).players_home.find(1).Summoner.name
, чтобы извлечь, который вызывающий игрок играл 1 в домашней команде.
Дело в том, что каждый игрок в каждом матче может играть с разным summoner.
Надеюсь, я описал это четко.
С уважением.Помощь с ассоциациями в Rails
0
A
ответ
1
Я не совсем уверен, что все ваши требования в отношении, когда объединение является один или несколькими, но я думаю, что что-то подобное может быть это:
class Match
has_many :participations
has_many :players, :through => :participations
end
class Participation
belongs_to :match
belongs_to :player
belongs_to :summoner
# also a team attribute to store either "home" or "away"
scope :home, where(:team => "home")
scope :away, where(:team => "away")
end
class Player
belongs_to :clan
has_many :participations
has_many :matches, :through => :participations
end
class Summoner
has_many :participations
end
В этой конфигурации каждый матч имеет несколько официального участия. Каждое участие принадлежит игроку, который участвует, а также принадлежит вызывающему игроку и соответствует ему. Затем он может быть использован, возможно, как это:
В контроллере
@match = Match.find(1)
@home_participations = @match.participations.home
@away_participations = @match.participations.away
В View
<h1>Home Players</h1>
<% @home_participations.each do |p| %>
<p>Player: <%= p.player.name %>, Summoned by: <%= p.summoner.name %></p>
<% end %>
Я надеюсь, что это было по крайней мере несколько, что вы где собираетесь. Дайте мне знать, если вы ищете что-то еще.
+0
Настолько замечательное решение, спасибо! – methyl
Смежные вопросы
- 1. помощь с ассоциациями рельсов
- 2. Проблема с ассоциациями в Rails
- 3. Rails csv импорт с ассоциациями
- 4. Проблема с вложенными ассоциациями Rails
- 5. Rails - связь с родительскими ассоциациями
- 6. вопросы FactoryGirl с ассоциациями в Rspec/Rails
- 7. RANSACK GEM - Поиск с ассоциациями - Rails 4
- 8. Rails Значение фильтра из хеша с ассоциациями
- 9. Ruby on Rails ActiveRecord :: AssociationTypeMismatch с ассоциациями
- 10. Rails: Борьба с ассоциациями (вложенные комментарии)
- 11. Rails - как правильно обращаться с несколькими ассоциациями
- 12. Rails - одна модель с двумя ассоциациями
- 13. Rails 3 Сохранение с несколькими ассоциациями
- 14. Rails json объект с ассоциациями моделей
- 15. Rails 3 генератор модели с ассоциациями
- 16. Rails сложный запрос с несколькими ассоциациями уровня
- 17. Rails Арел группировка и подсчет с ассоциациями
- 18. Управление ассоциациями в Ruby On Rails
- 19. Кэширование модели со многими ассоциациями в Rails
- 20. form_for first argument nil error в Rails с определенными ассоциациями
- 21. RailsAdmin с полиморфными ассоциациями
- 22. Получение Super Confused с ассоциациями пользователей в Rails
- 23. Помощь с Rails Seeds?
- 24. Помощь с Rails find_by
- 25. Помощь с маршрутами Rails
- 26. Как найти записи с нулевыми ассоциациями в Rails
- 27. Модель без таблиц с ассоциациями ActiveRecord в Rails 3.2
- 28. Rails частичное перечисление над ассоциациями чрезвычайно медленное
- 29. Rails 4 Active Admin i18n фильтры с активными ассоциациями записей
- 30. Как использовать Rails Gem Active Admin с базовыми ассоциациями
Итак, в чем вопрос? У вас есть код, чтобы показать нам? – Wukerplank
Вопрос в том, как настроить ассоциации и модели. – methyl