我在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
有什么想法吗?这让我疯了!
答案 0 :(得分:0)
我认为引起你行动的那条线是:
has_many :attributes
“attributes”是Active Record中的特殊单词。它指的是db中的列的值。
如果您尝试使用关联覆盖它,那么您将遇到问题。 我的建议是你不应该有一个叫做“属性”的模型 - 称之为别的东西,比如“属性”,问题就会消失。