mysql - 用户中的参数错误#index

标签 mysql ruby-on-rails passenger production

显示/home/bdme551/bdme21/app/views/users/index.html.erb 第 4 行出现的地方:

@users 变量似乎是空的。您是否忘记为 will_paginate 传递集合对象? 提取的源代码(大约第 4 行):

<h1>All users</h1>

<%= will_paginate %>

<ul class="users">
  <%= render @users %>

我知道我错过了什么。但是,我想不通。有人能帮助我吗?谢谢。

用户 Controller

def index
    @users = User.all.paginate(:page => params[:page], :per_page => 5)
end

控制台日志

 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)

最佳答案

如果您简单地删除分页会怎样?

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

然后你改变你的 Controller Action

@users = User.paginate(page: params[:page], per_page: 5)

只是

@users = User.all

我知道您希望分页正常工作,但让我们从已知的好的开始,迭代地朝着您需要的工作解决方案努力。你说你有两个用户,但是 User.all 找到他们了吗?

关于mysql - 用户中的参数错误#index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39592755/

相关文章:

ruby-on-rails - 脚本头过早结束 : media ( Issue related to :rails app deployment+passenger+ubuntu+apache)

ruby-on-rails - 使用 Phusion Passenger 时出错 - 无法在任何来源中找到 sqlite3-ruby-1.2.5 (Bundler::GemNotFound)

mysql - 询问行一个属性我在哪里包含了两次

mysql - 这个图标是什么意思

ruby-on-rails - 嵌套的content_tags逸出内部html。为什么?

ruby-on-rails - 使用 ruby​​ on Rails 数据迁移撤消 html 转义

mysql - 连接两个表,其条件为 "ON"

mysql - 如何更快下单?

ruby-on-rails - Rails:PG::UndefinedTable:错误:关系 "..."不存在

ruby-on-rails - 未初始化的常量ActionDispatch::Session::EncryptedCookieStore(NameError)