TypeError Преобразование в отношении has_many - PullRequest
1 голос
/ 28 апреля 2009

У меня есть пара объектов в приложении Rails («Билет» и «Комментарий»)

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 голосов
/ 06 сентября 2010

Я думаю, что строка, которая вызывает у вас слова:

has_many :attributes

«атрибуты» - это особое слово в активной записи. Это относится к значениям столбцов в БД.

Если вы попытаетесь переопределить это с помощью ассоциации, у вас будут проблемы. Мое предложение заключается в том, что у вас не должно быть модели, называемой «атрибут» - назовите ее как-нибудь еще, например, «свойства», и проблемы исчезнут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...