我正在使用InstantRails在Windows 7上学习RoR。
我已经成功地进入了sqlite3,并创建了一个名为Trades的表格,其中包含一些列。然后我退出了sqlite3并进入了Ruby控制台。
>> class Trade < ActiveRecord::Base; end
=> nil
>> trade = Trade.new
=> #<Trade barterID: nil, title: nil, message: nil, created_at: nil, updated_at: nil>
>> trade.class
=> Trade(Table doesn't exist)
我再次仔细检查了,在sqlite3中它绝对存在。我知道表格名称不是“Trade”,所以我尝试将它重命名为Trade,但会出现更多错误。我读到表格名称应该采用复数形式,因此我认为这部分是正确的。
请问为什么它说表格不存在?如果我有任何遗漏的细节,我会提供它们。
#<Trade barterID: nil, title: ...>
说明表存在且Rails知道其外观。barterID
列似乎有点可疑。请删除该列,添加一个id
列,然后再试一次。接着了解 migrations。Rails 喜欢按照自己的方式处理事情。 - mu is too shortlog/development.log
中发送到数据库的查询语句;b) 确认你运行控制台的环境与创建表格的数据库相匹配。 - phoet