在没有activerecord关系的情况下使用cancan access_by

时间:2018-10-09 19:09:36

标签: ruby-on-rails activerecord cancan

我的应用程序使用的是原始SQL查询,而不是activerecord对象。我无法使用视图,因为查询的列是可变的,具体取决于用户的配置。 (表驱动)

我使用ActiveRecord :: Base.connection.execute语句执行查询

ALTER TABLE `movies`.`cast` 
ADD CONSTRAINT `MoviesKey`
FOREIGN KEY (`MovieReleaseYear` , `MovieTitle`)
REFERENCES `movies`.`movies` (`ReleaseYear` , `OriginalTitle`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

不执行 返回ActiveRecord关系。但是,我必须根据cancan中设置的规则过滤结果。

我试图使用ActiveQuery语法重写此查询,以便返回AR关系,但是它非常慢。

理想情况下,我要么选择

  1. 将此查询的结果作为与链的activerecord关系返回到accessible_by
  2. 使用cancan返回可以在原始查询WHERE子句中使用的条件。

0 个答案:

没有答案