我刚刚将应用程序从Rails 2升级到Rails 3(ruby 1.9.2-head)。
大多数模型在升级后都会被识别,但是一个名为“Villa”的模型根本无法识别,如果您尝试调用任何方法(例如Villa.find(1)),则会返回“未定义方法”错误。
该模型的简化代码是,但我已经以各种方式改变了它,它似乎没有解决问题:
class Villa < ActiveRecord::Base
belongs_to :beach
has_many :villa_pictures, :order => "id ASC"
has_many :villa_rooms, :order => "id ASC"
has_many :villa_facilities
default_scope :conditions => ["active = ?", "true"]
end
在控制台中输入“Villa”只会返回=&gt;别墅,而其他模型将返回他们的表定义。
提前致谢。
答案 0 :(得分:1)
Villa
常量可能已经定义。你在其他地方没有其他课程或模块吗?或者您的应用程序称为“别墅”?这将默认在config / application.rb中定义Villa
。