-1

我创建了一个应用程序并安装了设计。我如何在用户登录时对其进行管理?例如,我怎样才能拥有所有注册成员的列表?我可以想象我必须使用 devise 生成一个版主帐户,但我不确定如何处理这个问题?

有人可以告诉我一些有关使用设计管理用户的信息吗?

4

2 回答 2

0

您需要在 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' %>

现在可以使用普通用户/索引操作来显示设计用户列表。

于 2013-11-06T13:58:54.650 回答
0

要管理注册用户,您可以从模型的脚手架控制器开始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为真。

于 2013-11-06T13:54:49.340 回答