我想将@users变量设置为特定的用户列表(其id在文件中指定)。
这是我的控制者:
class UsersController < ApplicationController
unloadable
require 'will_paginate/array'
ENTRIES_PER_PAGE = 15
def index
if some_condition
@users = User.all
...
...
...
/* inside else block */
ids = []
File.open("./user_ids.txt", "r") do |f|
f.each_line do |line|
ids.push[line]
end
end
/* ??? */
# @users = User.find(ids)
/* When above line is uncommented, application throws error */
注释行引发错误,我认为因为@users不是数组,而是其他东西,我不确定我应该做什么。
ActionView::Template::Error (undefined method `total_entries' for #<Array:0x000000044aa688>)
total_entries是从will_paginate gem
定义的<p> Total entries: <%= @users.total_entries %> </p>
答案 0 :(得分:1)
那是因为当你执行User.find(ids)
时它将返回一个数组,只需执行User.where(id: ids).paginate(page: params[:page])