假设我有一个包含两个模型Person
和House
的rails应用。每个Person
对象都有House_id
属性。
我想在Person
模型中定义以下方法:
def locate_house
current_house_id = house.find_by_id(person)
end
但我为house
收到一个未定义的变量错误,我怎样才能确保它在范围内?
答案 0 :(得分:2)
您正在尝试重写已构建到rails中的内容。使用belongs_to关系:
class Person < ActiveRecord::Base
belongs_to :house
end
然后你可以这样做:
person.house
获得相关的房屋。
答案 1 :(得分:1)
您的模型 - House
- 是一个需要大写的红宝石常量
def locate_house
current_house_id = House.find_by_id(person)
end
答案 2 :(得分:0)
House是一个常数,需要像其他人所说的大写字母,请看Rails指南关于Active Record Models之间的关系。有许多可能的现实,很多可能是你正在寻找的。实际上,一个人可以有多个房子。