Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3.2-模棱两可的列名:title_es:-正确的语法是什么?_Ruby On Rails_Database_Ruby On Rails 3_Sqlite - Fatal编程技术网

Ruby on rails Rails 3.2-模棱两可的列名:title_es:-正确的语法是什么?

Ruby on rails Rails 3.2-模棱两可的列名:title_es:-正确的语法是什么?,ruby-on-rails,database,ruby-on-rails-3,sqlite,Ruby On Rails,Database,Ruby On Rails 3,Sqlite,在处理我的搜索表单时,我反复出现同样的错误。看看互联网似乎很清楚,我的查询需要更加具体,以便Rails随时知道要查看哪一列。 从错误中我了解到问题来自属于标题的“title_es”列。然而,我尝试了许多不同的方法,但我无法获得正确的语法使其工作。任何帮助都将不胜感激!谢谢 事件模型 scope :with_timetable, joins(:header).where(headers: {weekly: true}) 事件控制器 def search @events_weekly =

在处理我的搜索表单时,我反复出现同样的错误。看看互联网似乎很清楚,我的查询需要更加具体,以便Rails随时知道要查看哪一列。 从错误中我了解到问题来自属于标题的“title_es”列。然而,我尝试了许多不同的方法,但我无法获得正确的语法使其工作。任何帮助都将不胜感激!谢谢

事件模型

scope :with_timetable, joins(:header).where(headers: {weekly: true})
事件控制器

def search
    @events_weekly = Event.with_timetable.where((["CAST(title_es as varchar(255)) LIKE ?", "%#{params[:query]}%"] || ["CAST(title_en as varchar(255)) LIKE ?", "%#{params[:query]}%"] || ["CAST(title_eu as varchar(255)) LIKE ?", "%#{params[:query]}%"] || ["CAST(title_fr as varchar(255)) LIKE ?", "%#{params[:query]}%"])).includes(:header)


if @time.wday == 1
      @events = @events_weekly.joins(:timetable).where(timetables: {mon: true})
elsif @time.wday == 2
       .........
end

您应该指定表名,类似于
“CAST(events.title_作为varchar(255))”
“CAST(headers.title_作为varchar(255))”
,具体取决于您的需要


我想您也必须指定表名
title\u eu

您完全正确。我试着用单数(事件、标题)。这就是它不起作用的原因。谢谢你发现了!