在尝试处理我的搜索表单时,我反复遇到同样的错误。看一下互联网似乎很清楚,我的查询需要更具体,以便 Rails 随时知道要查看哪一列。从错误中我了解到问题来自属于 Headers 的“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