2016-01-21 17 views
0

我收到这个令人沮丧的错误。请帮忙!它工作正常SQLite中,但在Postgres的DatatypeMismatch:错误只是在Postgres上,但在SQLite3中工作

引发此错误的ActiveRecord :: StatementInvalid在JobSeekersController#export_single_record_csv PG :: DatatypeMismatch:错误:在哪里必须是boolean类型的参数,而不是整数类型LINE 1:选择 “手机”。 * FROM“phones”WHERE(11)ORDER BY“phone ... ^:SELECT”phones“。* FROM”phones“WHERE(11)ORDER BY”phones“。”id“ASC LIMIT 1

Here is我在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 
+0

错误消息来自'export_single_record_csv'动作。那是你发布的吗? – avinoth

+0

在导出单个记录中具有与出口csv –

回答

0

您似乎在参数或数据库模式中有某种数据类型不匹配。我将登录到您的数据库并描述job_seekers表,以查看所有列和它们的类型,确保在迁移时没有发生错误。

我也仔细检查了电子邮件[0] .job_seeker_id以及会话[:email_jobseeker]。

你可以在从Postgres中获取数据时在控制台中运行这些查询吗? 当你把JobSeeker.where("id = ?", 1)放在控制台里会发生什么?

+0

中完全相同的代码,我刚刚重新启动了液滴,并且现在相同的代码正在工作。谢谢你的帮助 –

相关问题