2009-04-28 14 views
1

我有一對夫婦在Rails應用程序對象( 「票據」 和 「註釋」)類型錯誤轉換上的has_many關係

class Ticket < ActiveRecord::Base 
    has_many :attributes 
    has_many :comments 
end 

class Comment < ActiveRecord::Base 
    belongs_to :ticket 
    belongs_to :user 
end 

與下面的模式:對

create_table "comments", :force => true do |t| 
    t.integer "ticket_id" 
    t.integer "user_id" 
    t.text  "content" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
end 

create_table "tickets", :force => true do |t| 
    t.integer "site_id" 
    t.integer "status" 
    t.integer "user_id" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
end 

然而,某些原因 - 只要我做了@ lead.comments我得到一個崩潰:

can't convert String into Integer

有什麼建議嗎?這讓我瘋狂!

+1

你能解釋@lead是什麼嗎? – 2009-04-29 12:20:32

回答

0

我認爲這是造成你pronlems線路:

has_many :attributes 

「屬性」是在活動記錄一個特殊的詞。它引用數據庫中列的值。

如果您嘗試使用關聯覆蓋此設置,那麼您將遇到問題。 我的建議是,你不應該有一個稱爲「屬性」的模型 - 稱之爲別的東西,例如「屬性」,問題就會消失。