假设我有一个带有两个模型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 模型之间的关系。有很多可能的关系,有很多可能是您正在寻找的。因为,实际上,一个人可以拥有多个房屋。