Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:为Desive用户创建索引视图_Ruby On Rails_Model View Controller_Devise - Fatal编程技术网

Ruby on rails Rails:为Desive用户创建索引视图

Ruby on rails Rails:为Desive用户创建索引视图,ruby-on-rails,model-view-controller,devise,Ruby On Rails,Model View Controller,Devise,这是一个新项目,所以如果有人在这方面有建议,那么抓取和重新启动将很容易。基本上,我通过使用Desive创建了用户: rails generate devise users 但是现在我想创建一个到类似用户索引页面的路由,以显示所有用户。当我运行rake routes 我的下一个想法是使用rails generate scaffold user尝试生成这样的视图和控制器函数。这不管用 我对rails比较陌生,但对它有相当全面的了解。我刚刚开始使用Desive,所以这部分最让我困惑,我用它来验证。我

这是一个新项目,所以如果有人在这方面有建议,那么抓取和重新启动将很容易。基本上,我通过使用Desive创建了用户:

rails generate devise users
但是现在我想创建一个到类似用户索引页面的路由,以显示所有用户。当我运行
rake routes

我的下一个想法是使用
rails generate scaffold user
尝试生成这样的视图和控制器函数。这不管用

我对rails比较陌生,但对它有相当全面的了解。我刚刚开始使用Desive,所以这部分最让我困惑,我用它来验证。我四处寻找帮助,研究了很多,但都没有用


只是一些额外的信息。当我尝试路线
http://localhost:3000/users
我得到了
未初始化的常量users控制器
,但当我添加了一个users控制器时,它只是抱怨了一些其他的事情。我尝试了其他一些方法,但不想通过讨论所有这些方法来淡化这个问题。

Desive将处理注册和登录/注销。它不会做任何其他事情。索引是rails中典型的控制器操作。生成用户脚手架时,是否添加了任何额外的参数?有基本的文档。向下滚动至关于脚手架的第6部分。生成脚手架时,需要创建模型、视图和控制器。该教程的第7节从头开始生成模型。在您的情况下,用户模型可能有一个名称字符串和一个电子邮件字符串。模型可以有许多属性,如布尔值或整数。(您需要为身份验证添加设计属性,如密码,但可以稍后添加。)因此,请尝试再次生成脚手架,但使用
rails生成脚手架用户名:string电子邮件:string
。这将向您的用户模型中添加名称和电子邮件列。从那里,脚手架应该在控制器和基本视图中为您设置默认操作。然后你应该有你的索引操作。

设计在gem库目录中隐藏自己的控制器和视图。您可以将视图拉入项目进行编辑,但控制器没有类似的功能。有关一些示例,请参见

很容易生成您自己的控制器和视图:

config/routes.rb:

# NOTE: put this after the 'devise_for :users' line
resources :users, only: [:index]
class UsersController < ApplicationController

  def index
    @users = User.all
  end

end
<ul>
  <% @users.each do |user| %>
    <li><%= user.name %></li>
  <% end %>
</ul>
app/controllers/users\u controller.rb:

# NOTE: put this after the 'devise_for :users' line
resources :users, only: [:index]
class UsersController < ApplicationController

  def index
    @users = User.all
  end

end
<ul>
  <% @users.each do |user| %>
    <li><%= user.name %></li>
  <% end %>
</ul>
class UsersController
app/views/users/index.html.erb:

# NOTE: put this after the 'devise_for :users' line
resources :users, only: [:index]
class UsersController < ApplicationController

  def index
    @users = User.all
  end

end
<ul>
  <% @users.each do |user| %>
    <li><%= user.name %></li>
  <% end %>
</ul>
这是一个极简主义的例子,应该适合你


您可能需要考虑使用,如果您不需要将其风格化为应用程序的公共部分。为您省去了编写代码、设置样式和保护应用程序所需的许多基本记录管理功能的麻烦。我使用ActiveAdmin,然后如上所述滚动我自己的控制器/视图/路由,以便在应用程序的公共部分显示用户列表。

这是有道理的,我只是不知道Devage Interfered是否出错。今天晚些时候我会试试的