Postgres:通过兄弟访问父级时出错

时间:2016-10-27 06:43:42

标签: ruby-on-rails postgresql

以下是关系:

class Tutor
  has_many :subjects, through: :profile
  has_one :profile, dependent: :destroy
end

class Profile
  belongs_to :tutor
  has_many :subjects, through: :profile_subjects
  has_many :profile_subjects
end

class Subject
  has_many :profile_subjects
  has_many :profiles, through: :profile_subjects
  has_many :tutors, through: :profiles
end

# the join model for Profile and Subject
class ProfileSubject
  belongs_to :profile
  belongs_to :subject
end

现在以前,当我使用sqlite3数据库时,它完全正常工作。但是在部署到生产环境时,由于数据库是Postgres,我会收到错误。

这是一个简单的例子,说明我所做的事情会引发错误

subject = Subject.first
subject.tutors

正在返回的错误是

ActiveRecord::StatementInvalid: PG::UndefinedFunction: ERROR:  operator does not exist: integer = character varying

据我了解(或被告知),这意味着我试图将varcharinteger字段进行比较(或加入)。

我实际上尝试做的事情的大局是Subject.where("name LIKE ?", "#{name}"),并且能够找到所有tutors的查询subject。我如何通过subject访问辅导员?

(我只想指出这些关联在sqlite3上运行得很好)

0 个答案:

没有答案