.first返回错误的对象类型

时间:2011-08-30 20:14:59

标签: ruby-on-rails ruby-on-rails-3

如果您查看下面的四个方法调用,Service.first会返回一个Service对象,Salon.first会返回一个Salon对象,等等。TransactionItem.first会返回一个Service个对象。为什么会这样?

ruby-1.8.7-p334 :001 > Service.first
 => #<Service id: 147, name: "Fub", salon_id: 2, created_at: "2011-08-10 18:00:07", updated_at: "2011-08-10 18:00:12", price: nil, active: true, archived: true> 
ruby-1.8.7-p334 :002 > Salon.first
 => #<Salon id: 1, name: "The Cheeky Strut", created_at: nil, updated_at: nil, address_id: nil, email: nil> 
ruby-1.8.7-p334 :003 > Product.first
 => #<Product id: 1, name: "Herbal Essences Shampoo", retail_price: #<BigDecimal:10305f1f0,'0.1E2',9(18)>, wholesale_price: nil, sku: "", salon_id: 2, created_at: "2011-07-08 01:35:48", updated_at: "2011-07-08 01:35:48", archived: false> 
ruby-1.8.7-p334 :004 > TransactionItem.first
 => #<Service id: 63, created_at: "2011-08-30 20:05:57", updated_at: "2011-08-30 20:05:57", price: #<BigDecimal:10303eba8,'0.18E2',9(18)>> 
ruby-1.8.7-p334 :005 > 

这就是我app/models/transaction_item.rb的样子:

class TransactionItem < ActiveRecord::Base
  belongs_to :transaction
  belongs_to :stylist
end

1 个答案:

答案 0 :(得分:0)

我通过迁移吹走了TransactionItem表,然后创建了一个全新的迁移来重新创建它。这似乎解决了这个问题。