Ruby on rails 删除具有活动记录关系的变量中的第一条和最后一条记录时,Pull停止工作
在模型中,我具有以下范围:Ruby on rails 删除具有活动记录关系的变量中的第一条和最后一条记录时,Pull停止工作,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,在模型中,我具有以下范围: scope :rent_conditions, ->(all_rent_conditions, arguments) { where(all_rent_conditions, arguments) } 我称之为范围: Rent.rent_conditions(all_rent_conditions, arguments).order(fermetraverd: :asc) 在控制器变量中: @rent_filter_results 从租金搜索中接收10个活
scope :rent_conditions, ->(all_rent_conditions, arguments) { where(all_rent_conditions, arguments) }
我称之为范围:
Rent.rent_conditions(all_rent_conditions, arguments).order(fermetraverd: :asc)
在控制器变量中:
@rent_filter_results
从租金搜索中接收10个活动记录关系
现在我想从搜索中删除第一条和最后一条记录,以便:
Rent.rent_conditions(all_rent_conditions, arguments).order(fermetraverd: :asc).values_at(1..8)
记录2-9正确返回控制器
但是在我删除第一条和最后一条记录之前,Pulk在下面的语句中抛出了一个错误:
size = @rent_filter_results.pluck(:flatarmal)
错误是:
undefined method `pluck' for #<Array:0x007faa293e3ac0>
未定义的用于#
似乎Pulk正在尝试访问我试图丢弃的第一张唱片。或者也许我不完全明白发生了什么。有人能解释并建议我如何放弃第一个和最后一个活跃的记录关系,让Pull继续工作吗 实际上
values\u at
将对象从ActiveRelation
转换为Array
。您可以尝试以下代码
Rent.rent_conditions(all_rent_conditions, arguments).order(fermetraverd: :asc).offset(1).limit(8)
然后可以对结果调用pull
。i、 e:
size = @rent_filter_results.pluck(:flatarmal)