Ruby on rails 如何访问不同模型中的属性

Ruby on rails 如何访问不同模型中的属性,ruby-on-rails,ruby,oop,Ruby On Rails,Ruby,Oop,我有两种型号 缺勤:金额、员工id 职员:身份证,请假 在缺勤模型中,我想编辑id在staff_id中的员工,然后我想更改他们的休假余额,但我不知道如何根据当前模型中的员工id在缺勤时使用我的方法访问员工模型中的该属性概念 然后你可以这样做: Staff.rb class Staff < ActiveRecord::Base has_one :absence # or has_many :absence end class Absence < ActiveRecord::B

我有两种型号

  • 缺勤:金额、员工id
  • 职员:身份证,请假

在缺勤模型中,我想编辑id在staff_id中的员工,然后我想更改他们的休假余额,但我不知道如何根据当前模型中的员工id在缺勤时使用我的方法访问员工模型中的该属性概念

然后你可以这样做:

Staff.rb

class Staff < ActiveRecord::Base
  has_one :absence # or has_many :absence
end
class Absence < ActiveRecord::Base
  belongs_to :staff
end
class Staff
缺席.rb

class Staff < ActiveRecord::Base
  has_one :absence # or has_many :absence
end
class Absence < ActiveRecord::Base
  belongs_to :staff
end
class缺席

现在,您可以通过访问属性,比如说,
disease.first.staff.leave\u balance-=1
,或者在缺勤模型中的实例方法中
self.staff.leave\u balance=…

您建立了关系吗

在缺席课上,你应该

belongs_to :staff
has_many :absence
在职员课上,你应该

belongs_to :staff
has_many :absence
完成后,您可以执行以下操作:

a = Absence.last
a.staff.leave_balance -= 1


我应该提到我已经建立了两者之间的关系,我无法理解为什么数据库值没有更新,然后我突然想到我没有用这些值更新数据库:pGlad您能够识别问题。