假设我有一个带有两个模型Person
和House
. 每个Person
对象都有一个House_id
属性。
我想在我的Person
模型中定义以下方法:
def locate_house
current_house_id = house.find_by_id(person)
end
但是我收到一个未定义的变量错误house
,我如何确保这在范围内?
假设我有一个带有两个模型Person
和House
. 每个Person
对象都有一个House_id
属性。
我想在我的Person
模型中定义以下方法:
def locate_house
current_house_id = house.find_by_id(person)
end
但是我收到一个未定义的变量错误house
,我如何确保这在范围内?
您正在尝试重写已经内置在 rails 中的内容。使用 belongs_to 关系:
class Person < ActiveRecord::Base
belongs_to :house
end
然后你可以这样做:
person.house
得到相关的房子。
你的模型House
————是一个需要大写的红宝石常数
def locate_house
current_house_id = House.find_by_id(person)
end
House 是一个常量,需要像其他人所说的那样使用大写字母,请查看 Rails Guides 关于 Active Record 模型之间的关系。有很多可能的关系,有很多可能是您正在寻找的。因为,实际上,一个人可以拥有多个房屋。