我遇到了这个令人沮丧的错误。请帮忙!它在SQLite中工作正常,但在Postgres中抛出此错误
JobReekersController中的ActiveRecord :: StatementInvalid#export_single_record_csv PG :: DatatypeMismatch:错误:WHERE的参数必须是boolean类型,而不是类型整数LINE 1:SELECT“phones”。* FROM“phones”WHERE(11)ORDER BY“phone” ... ^:选择“电话”。*来自“电话”在哪里(11)订购“电话”。“id”ASC LIMIT 1
这是我在job_seekers控制器中的代码
def self.to_csv
CSV.generate(:converters => :all) do |csv|
all.each do |job_seeker|
data = Array.new
phone = Phone.where("job_seeker_id = ?", job_seeker.id).first
if !phone.mobile_number.blank?
data.push(phone.mobile_number)
else
data.push('null')
end
这是我在JobSeeker.rb中的代码
{{1}}
答案 0 :(得分:0)
您的参数或数据库架构中似乎存在某种数据类型不匹配。我将登录到您的数据库并描述job_seekers表以查看所有列及其类型,确保迁移时没有错误。
我还会仔细查看电子邮件[0] .job_seeker_id中包含的内容以及会话[:email_jobseeker]。
您可以在从Postgres获取数据时在控制台中运行这些查询吗?
将JobSeeker.where("id = ?", 1)
放入控制台后会发生什么?