devise gemでユーザーを作成し、そのユーザーが管理者かどうかを示すブール値フィールドを割り当てました。しかし、管理者ユーザーのみを作成する方法の例は見つかりませんでした別のユーザーを登録してください。管理者のみがDevailsでRailsで新しいユーザーを作成する
私はUserControllerでの作成:
class UserController < ApplicationController
before_action :is_admin?, only: [:new, :create, :destroy]
def new_user
end
def create
end
protected
def is_admin?
if !user_signed_in?
redirect_to user_session_path
elsif !((current_user.is? :admin) & (user_signed_in?))
redirect_to root_path
end
end
end
と私のroutesファイル:
devise_for :users, controllers: {
sessions: "user/sessions",
confirmations: 'user/confirmations',
passwords: 'user/passwords' }
get 'users/new_user' => 'user#new_user', as: :new_user
post 'users/create_user' => 'user#create', as: :create_user
が、私のビューnew_user.html.erbディスプレイでこのエラー:
undefined local variable or method `resource' for #<#<Class:0x007efbcc054a78>:0x007efbe003f880>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<% end %>