【发布时间】:2016-06-16 17:02:59
【问题描述】:
- 我有
Devise Admin&Devise User; - 我想使用命名空间;
我想要达到的目标:
- 只有设计管理员可以创建设计用户
-
registerable用户没有被删除,所以他只能编辑页面 - 用户只能看到 current_user/显示页面
我有什么
路线:
Rails.application.routes.draw do root :to => 'dashboard#index'
devise_for :users, controllers: { registrations: 'user_registrations' }
devise_for :admins, controllers: { registrations: 'admin_registrations' }
get 'dashboard/index'
namespace :admin do
root 'dashboard#index'
resources :users
end
用户注册控制器:
class UserRegistrationsController < Devise::RegistrationsController
end
users_controller:
class UsersController < ApplicationController
def index
@users = User.all
end
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def edit
end
def create
@user = User.new(user_params)
respond_to do |format|
if @guest.save
format.html { redirect_to users_path }
else
format.html { render :new }
end
end
end
def update
respond_to do |format|
if @user.update(user_params)
format.html { redirect_to @user }
else
format.html { render :edit }
end
end
end
def destroy
user = User.find(params[:id])
user.destroy
redirect_to users_path
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:email, :password, :password_confirmation)
end
end
+ 我有用户视图,就像在普通脚手架中一样。
=> 使用此设置,任何人都可以创建用户
任何想法如何解决上面的问题?..
【问题讨论】:
标签: ruby-on-rails devise namespaces