使用Devise在Rails 3.1项目上工作。Rails 3.1如何在保存孩子时使用父类属性?
我的用户模型has_many:课程和课程belongs_to:用户。
用户有一个布尔属性里程,模型需要在保存前检查。我试图使用before_save回调在这样的课程模式:
# check if user preference is miles, if so convert entered value to kilometers. All
# distances are stored as kilometers and converted to miles if necessary
before_save :convert_distance
def convert_distance
if course.user.miles
course.distance = course.distance * 1.6
end
end
很明显,我不能使用course.user.miles,因为新课程一直没有USER_ID被设定。
那么如何检查user.miles属性的值?这是我需要在控制器中做的事吗?
真正的问题是使用课程而不是自我。我将course.user.miles改为self.user.mile并且它可以工作。但你的回应消除了盲区 - 谢谢! – jacoulter