Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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 引用列名_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails 引用列名

Ruby on rails 引用列名,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个包含两个“不常见”列的表-order和like 该表在两个数据库上复制-MySQL和PostgreSQL 我需要相同的应用程序连接到两个数据库,并在两个数据库上使用相同的查询: PageModel.where("`like` >= ?", params[:liked]) 这只适用于MySQL 如何使ActiveRecord引用列名 比如: PageModel.where("%s >= ?" % quote_column_name(:like), params[:liked]

我有一个包含两个“不常见”列的表-
order
like

该表在两个数据库上复制-
MySQL
PostgreSQL

我需要相同的应用程序连接到两个数据库,并在两个数据库上使用相同的查询:

PageModel.where("`like` >= ?", params[:liked])
这只适用于
MySQL

如何使
ActiveRecord
引用列名

比如:

PageModel.where("%s >= ?" % quote_column_name(:like), params[:liked])
我发现了一个暂时没有用的方法——它只返回列名而不加引号


也许它只是一个占位符,还有另一种方法可以做到这一点?

这取决于从一个数据库适配器到另一个数据库适配器。因此,基本上,每个适配器都用自己的定义覆盖此方法

您感兴趣的是:

ActiveRecord::Base.connection.quote_column_name "my_column"