Mysql 用户#索引中的参数错误
显示/home/bdme551/bdme21/app/views/users/index.html.erb,其中第4行出现: @users变量似乎为空。您是否忘记传递will_paginate的收集对象? 提取的源(第4行附近): 控制台日志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
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>