我创建了一个应用程序并安装了设计。我如何在用户登录时对其进行管理?例如,我怎样才能拥有所有注册成员的列表?我可以想象我必须使用 devise 生成一个版主帐户,但我不确定如何处理这个问题?
有人可以告诉我一些有关使用设计管理用户的信息吗?
我创建了一个应用程序并安装了设计。我如何在用户登录时对其进行管理?例如,我怎样才能拥有所有注册成员的列表?我可以想象我必须使用 devise 生成一个版主帐户,但我不确定如何处理这个问题?
有人可以告诉我一些有关使用设计管理用户的信息吗?
您需要在 admin 文件夹下创建用户控制器和视图,才能访问设计用户。
代码:
应用程序/控制器/管理员/users_controller.rb
class Admin::UsersController < ApplicationController
def index
@users = User.all
end
end
与您的视图部分相同, app/views/admin/users/index.html.erb
<%- model_class = User -%>
<h1><%=t '.title', :default => model_class.model_name.human.pluralize.titleize %></h1>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>id</th>
<th>name</th>
<th><%=t '.actions', :default => t("helpers.actions") %></th>
</tr>
</thead>
<tbody>
<% @users.each do |user| %>
<tr>
<td><%= link_to user.id, "#" %></td>
<td><%= user.name %></td>
<td>
<%= link_to t('.edit', :default => t("helpers.links.edit")),
edit_admin_user_path(user), :class => 'btn btn-mini' %>
<%= link_to t('.destroy', :default => t("helpers.links.destroy")),
admin_user_path(user),
:method => :delete,
:data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) },
:class => 'btn btn-mini btn-danger' %>
</td>
</tr>
<% end %>
</tbody>
</table>
<%= link_to t('.new', :default => t("helpers.links.new")),
new_admin_user_path,
:class => 'btn btn-primary' %>
现在可以使用普通用户/索引操作来显示设计用户列表。
要管理注册用户,您可以从模型的脚手架控制器开始User
rails g scaffold_controller User
为了限制对这个控制器的访问,你必须实现某种授权,从is_admin
在模型上创建属性User
到像CanCan这样更高级的东西。
如果您刚刚开始,我的建议是保持简单
rails g migration add_is_admin_to_users is_admin:boolean
然后检查UserController
是否current_user.is_admin
为真。