неопределенный метод при попытке доступа к связанным записям в модельных рельсах 3 - PullRequest
0 голосов
/ 09 марта 2011

Что не так в моей модели, с использованием rails 3.0.5 и ruby ​​1.9.2?

class Milestone < ActiveRecord::Base

  has_many :capstone_milestones
  has_many :capstones, :through => :capstone_milestones
  belongs_to :department
  attr_accessible :id, :name, :description, :department_id, :project

  accepts_nested_attributes_for :capstone_milestones, :allow_destroy => true

  def before_create # or after_initialize
    self.project ||= 'Default'
  end

  def xpos
    (Milestone.department.id - 100000)*100
  end
end

Когда я выполняю milestone.xpos в представлении, я получаю сообщение об ошибке "undefined method` Department "".

Спасибо!

1 Ответ

2 голосов
/ 09 марта 2011

Вы не можете получить доступ к отделу по имени класса, потому что вы получите его как метод экземпляра.Вы можете получить доступ как

@milestone = Milestone.find(id)
@milestone.department_id

In your case just replace Milestone with self.

(self.department.id - 100000)*100

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