методы класса / массив в activerecord - PullRequest
0 голосов
/ 12 сентября 2009

Я хочу создать список из атрибутов класса

Я новичок в ruby ​​- у меня есть класс activerecord, который называется fixture, и что такое массив "Домашняя команда", "Ничья", "Команда гостей", где домашняя команда и команда гостей - оба поля в таблице Fixture

Я придумал следующий код, вставляющий его в класс Fixture - как получить доступ к значениям класса?

self.fix_list = [home_team.title, "Draw", away_team.title]

1 Ответ

0 голосов
/ 12 сентября 2009

Я думаю, что «Fixture» - довольно плохое имя для модели. В любом случае:

class Fixture < ActiveRecord::Base
  belongs_to :home_team, :class_name => "Team", :foreign_key => "home_team_id"
  belongs_to :away_team, :class_name => "Team", :foreign_key => "away_team_id"
  named_scope :with_team, lambda { |team_id| { :conditions => ['(home_team_id = ? 
    or away_team_id = ?)', team_id, team_id]} }

  def fix_list
    [home_team.title, "Draw", away_team.title]
  end
end

class Team < ActiveRecord:Base
  def fixtures
    Fixture.with_team(id)
  end
end

Конечно, при переносе таблицы "fixtures" вам необходимо создать столбцы с именами home_team_id и away_team_id.

Редактировать: я просто замечаю, что моя первоначальная has_many ассоциация в Team бесполезна. Это named_scope не проверено, и я иду спать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...