Ruby on rails 3 设置rails模型属性并将其保存在数据库中

Ruby on rails 3 设置rails模型属性并将其保存在数据库中,ruby-on-rails-3,model,controller,Ruby On Rails 3,Model,Controller,我怀疑我遇到了困难,因为我不理解ruby和/或rails 3中的基本概念,但在任何情况下: 我有一个名为Patient的模型,在数据库中有一列名为active\u administration\u id,我希望能够执行以下操作: @patient.active_admission_id = @admission.id 在我的控制器中,并将值保存在数据库中。现在,我尝试在我的患者模型中实现以下功能: def active_admission_id=(admission_id) self.ac

我怀疑我遇到了困难,因为我不理解ruby和/或rails 3中的基本概念,但在任何情况下:

我有一个名为
Patient
的模型,在数据库中有一列名为
active\u administration\u id
,我希望能够执行以下操作:

@patient.active_admission_id = @admission.id
在我的控制器中,并将值保存在数据库中。现在,我尝试在我的
患者
模型中实现以下功能:

def active_admission_id=(admission_id)
  self.active_admission_id = admission_id
end
但现在我似乎陷入了一个无限递归循环,因为一切都是ruby中的一个方法


所以我的问题分为两部分:(1)我试图在控制器中执行的代码-这是否适合rails范例?(2) 如果是,我如何修复模型中的代码?非常感谢

如果它在数据库中,则不需要自定义setter。ActiveRecord会帮你解决这个问题。从您的模型中删除
active\u admission\u id=
方法,您应该会没事的。谢谢米莎,您完全正确。我的困惑是因为其他地方的一只虫子引起的。谢谢