在has_many关系上的TypeError转换

时间:2009-04-28 14:58:55

标签: ruby-on-rails activerecord

我在Rails应用程序中有几个对象(“Ticket”和“Comment”)

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 个答案:

答案 0 :(得分:0)

我认为引起你行动的那条线是:

has_many :attributes

“attributes”是Active Record中的特殊单词。它指的是db中的列的值。

如果您尝试使用关联覆盖它,那么您将遇到问题。 我的建议是你不应该有一个叫做“属性”的模型 - 称之为别的东西,比如“属性”,问题就会消失。