Mysql 用户#索引中的参数错误

Mysql 用户#索引中的参数错误,mysql,ruby-on-rails,passenger,production,Mysql,Ruby On Rails,Passenger,Production,显示/home/bdme551/bdme21/app/views/users/index.html.erb,其中第4行出现: @users变量似乎为空。您是否忘记传递will_paginate的收集对象? 提取的源(第4行附近): 控制台日志 ActionView::Template::Error (The @users variable appears to be empty. Did you forget to pass the collection object for will_pag

显示/home/bdme551/bdme21/app/views/users/index.html.erb,其中第4行出现:

@users变量似乎为空。您是否忘记传递will_paginate的收集对象? 提取的源(第4行附近):

控制台日志

 ActionView::Template::Error (The @users variable appears to be empty. Did you forget to pass the collection object for will_paginate?):
    1: <% provide(:title, 'All users') %>
    2: <h1>All users</h1>
    3: 
    4: <%= will_paginate %>
    5: 
    6: <ul class="users">
    7:   <% @users.each do |user| %>

app/views/users/index.html.erb:4:in `_app_views_users_index_html_erb__4020588401683243365_70237529196060'
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_source.html.erb
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (6.7ms)
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (3.0ms)
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.9ms)
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (32.0ms)
DEPRECATION WARNING: #original_exception is deprecated. Use #cause instead. (called from process_request at /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:97)
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/index.html.erb
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/_markup.html.erb (0.9ms)
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/console.js.erb within layouts/javascript
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.7ms)
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/_prompt_box_markup.html.erb within layouts/inlined_string
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/_prompt_box_markup.html.erb within layouts/inlined_string (0.4ms)
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/style.css.erb within layouts/inlined_string
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/style.css.erb within layouts/inlined_string (0.8ms)
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/console.js.erb within layouts/javascript (22.3ms)
  Rendering /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/main.js.erb within layouts/javascript
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/main.js.erb within layouts/javascript (0.5ms)
  Rendered /home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/index.html.erb (39.0ms)
ActionView::Template::Error(@users变量似乎为空。是否忘记传递will_paginate的集合对象?)
1: 
2:所有用户
三:
4: 
5: 
6:
    7: app/views/users/index.html.erb:4:in`_app\u views\u users\u index\u html\u erb\u 4020588401683243365\u 70237529196060' rescues/layout中的Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues/template\u error.html.erb Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues//u source.html.erb Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues//u source.html.erb(6.7ms) Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues//u trace.html.erb Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues//u trace.html.erb(3.0ms) Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues//u request\u and\u response.html.erb Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues//u request\u and\u response.html.erb(1.9ms) rescues/layout中的Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.0.1/lib/action\u dispatch/middleware/templates/rescues/template\u error.html.erb(32.0ms) 弃用警告:#原始_异常已弃用。用“原因”代替。(从/usr/lib/ruby/vendor\u ruby/phusion\u passenger/rack/thread\u handler\u extension.rb:97的进程请求调用) Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/index.html.erb Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web\u console/templates//u markup.html.erb(0.9ms) 布局/javascript中的Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/console.js.erb Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web\u console/templates//u internal\u console\u markup.html.erb在布局/内联\u字符串中 Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web\u console/templates//u internal\u console\u markup.html.erb在布局/内联字符串中(0.7ms) Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web\u console/templates//u prompt\u box\u markup.html.erb在布局/内联\u字符串中 布局/内联字符串(0.4ms)中的Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web\u console/templates//u prompt\u box\u markup.html.erb 布局/内联字符串中的Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web\u console/templates/style.css.erb 布局/内联字符串中的Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web\u console/templates/style.css.erb(0.8ms) layouts/javascript中的Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/console.js.erb(22.3ms) 布局/javascript中的Rendering/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/main.js.erb layouts/javascript中的Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/main.js.erb(0.5ms) Rendered/home/bdme551/.rvm/gems/ruby-2.3.1/gems/web-console-3.1.1/lib/web_console/templates/index.html.erb(39.0ms)
尝试像这样在索引操作中获取用户集合

@users = User.all.paginate(:page => params[:page], :per_page => 2) 
然后在index.html.erb中执行此操作

<%= will_paginate @users %>

尝试在每页添加

def index
  @users = User.paginate(page: params[:page], per_page: 5) 
end
并将
@users
变量传递给
will\u paginate

<%= will_paginate @users %>

为index.html.erb尝试以下代码:

<% provide(:title, 'All users') %>
<h1>All users</h1>

<%= will_paginate %>

<ul class="users">
   <% @users.each do |user| %>
      <%= render user %>
   <% end %>
</ul>

<%= will_paginate %>

所有用户
对于app/views/users/_user.html.erb,类似于此

<li>
   <%= link_to user.name, user %>
</li>

  • 如果只删除分页,会发生什么

    假设您在视图的第4行丢失了“will_paginate”

    您将控制器的操作从

    @users=User.paginate(第页:参数[:页],每页:5)

    公正

    @users=User.all


    我知道您希望分页工作正常,但是让我们从已知的好东西开始,以迭代的方式工作,以获得您需要的工作解决方案。您说您有两个用户,但是User.all找到了吗?

    将以下内容添加到文件中

    gem'will_paginate',“~>3.1.0'


    然后运行
    bundle install

    将对@users进行分页。在
    用户
    控制器的
    索引
    操作中会发生什么情况?@Deepak我尝试过。它不起作用。我更新了问题。用户表中有记录吗?看起来您得到的结果是空的。我已经按照要求包含了控制台日志。在更正用户控制器后,我仍然得到相同的ArguementError.Yes。结果没有变化。我在上面的问题中更新了控制台日志和其他代码。请尽可能复习一下。谢谢。我添加了您的代码,如上所述。我仍然在用户索引中发现ArgumentError。我更新了控制台日志和上面问题中的其他代码。请尽可能复习一下。谢谢。您也可以尝试在用户控制器的“索引”描述中写入@users=User.paginate(page:params[:page]),而不是@users=User.all.paginate(page:params[:page])。感谢您的建议。我试过了。我仍然收到相同的错误消息-ArguementError in Users#index。我也在做很多研究。希望在此之前有人能帮助我。谢谢ag
    <% provide(:title, 'All users') %>
    <h1>All users</h1>
    
    <%= will_paginate %>
    
    <ul class="users">
       <% @users.each do |user| %>
          <%= render user %>
       <% end %>
    </ul>
    
    <%= will_paginate %>
    
    <li>
       <%= link_to user.name, user %>
    </li>