【发布时间】:2016-01-21 16:44:10
【问题描述】:
我遇到了这个令人沮丧的错误。请帮忙!它在 SQLite 中运行良好,但在 Postgres 中抛出此错误
ActiveRecord::StatementInvalid in JobSeekersController#export_single_record_csv PG::DatatypeMismatch: 错误:WHERE 的参数必须是布尔类型,而不是整数类型 LINE 1: SELECT "phones".* FROM "phones" WHERE (11) ORDER BY "phone ... ^ : SELECT "phones".* FROM "phones" WHERE (11) ORDER BY "phones"."id" ASC LIMIT 1
这是我在 job_seekers 控制器中的代码
def export_single_record_csv
email = Email.where("email_address = ?", session[:email_jobseeker])
@job_seeker = JobSeeker.where("id = ?", email[0].job_seeker_id)
respond_to do |f|
f.csv { send_data @job_seeker.to_csv, filename: "job_seekers-#{Date.today}.csv" }
end
end
这是我在 JobSeeker.rb 中的代码
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
【问题讨论】:
-
错误消息来自
export_single_record_csv操作。是你发的那个吗? -
在导出单个记录中的代码与导出 csv 中的代码完全相同