ruby - 运行 http://localhost:3000/admin/users 但redirect_to http://localhost:3000/admin/login

JiaPing

我是 Ruby on Rails 的新手。我想运行http://localhost:3000/admin/users来查看用户索引页面。但是当我运行这个链接时,它引导我到http://localhost:3000/admin/login

我的路线设置有问题吗?

Rails.application.routes.draw do
  get 'users/new'
  get 'users/show'

  if Rails.env.development?
    mount LetterOpenerWeb::Engine, at: '/letter_opener'
  end
  root to: 'helps#top'

  # admin login
  get 'admin/login', to: 'admin/login#index', as: 'admin/login'
  get 'admin/logout', to: 'admin/login#logout'
  post 'admin/login/login'
  get 'admin', to: 'admin/projects#index', as: 'admin_top'


  namespace :admin do
    resources :users,  only: %i(index new create)
    resources :projects do
      resources :project_users
      resources :project_comments
    end
    resources :images
    resources :categories
    resources :campanies
  end
end

用户控制器.rb

class Admin::UsersController < AdminController
before_action :set_user, only: [:show, :edit, :update, :destroy]

def index
    @users = User.all
end

def show
end

def new
    @user = User.new
end

def edit    
end

#Post /admin/projects
def create
    @user = User.new(user_params)

    if @user.save
        flash[:notice] = 'User saved successfully'
        redirect_to :back
    else
        flash[:alert] = @user.errors
        binding.pry
        render :new
    end
end

def update
end

def destroy
end

private

    def set_user
        @user = User.find(params [:id])
    end

    def user_params
        params.require(:user).permit(:campany_id, :name, :email, :password_digest, :profile, :prefecture_id, :address)
    end
end

谢谢!

塞巴斯蒂安帕尔马占位符图像

UsersControllers位于 admin 命名空间下,也就是说您必须登录才能访问它。

如果你想在不验证用户当前登录的情况下访问,那么你必须删除对控制器的约束或验证,或者创建一个新的控制器和索引方法,/admin/users但这次没有用户验证。

那是:

# app/controllers/users_controller.rb
class UsersController < ApplicationController
  ...
  def index
    @users = User.all
  end
  ...
end

# config/routes.rb
get '/users', to: 'users#index'

'/users'或者'/admin/users'你想这样做,但如果你使用最后一个,那么任何人都必须推断出这是一个受限资源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

POST http:// localhost:3000/404(未找到)

来自分类Dev

无法访问 http://localhost:3000/

来自分类Dev

不能运行http:// localhost而不是http:// localhost:8012

来自分类Dev

$ .getJSON将'http:// localhost:3000'添加到api URL

来自分类Dev

POST http://localhost:3000/signin 400 (Bad Request) in react

来自分类Dev

在 React 中将所有内容放在 http://localhost:3000/app 而不是 http://localhost:3000/ 下的最简单方法

来自分类Dev

http:// localhost无法正常运行,但https:// localhost是否正常运行?

来自分类Dev

代理错误:无法将请求 /users 从 localhost:3000 代理到 http://localhost:3001/

来自分类Dev

如何运行,并访问http://localhost/TutorialApp 成功?

来自分类Dev

http:// localhost:3000 / api / stuff的Http失败响应:400错误的请求

来自分类Dev

ERR_CONNECTION_REFUSED http:// localhost:3000 / socket.io / socket.io.js

来自分类Dev

Ember CLI和Rails:代理到http:// localhost:3000时出错

来自分类Dev

从http:// localhost:3000 / app / main.js加载“ @ angular / platform-browser-dynamic”时出错

来自分类Dev

GET http:// localhost:3000 / components / t.mp3 net :: ERR_ABORTED 404(未找到)

来自分类Dev

react-full-page会阻止我的页面以特定ID(例如http:// localhost:3000 /#someIdWhereIWantThePageToBeOpened)打开

来自分类Dev

拒绝从'http:// localhost:3000 / style.css'应用样式,因为它的MIME类型('text / html')

来自分类Dev

身份验证POST http:// localhost:3000 / api / users / register 400(错误请求)MERN应用

来自分类Dev

GET http:// localhost:3000/404(未找到),实际上是在拨打POST却获得GET

来自分类Dev

如何从user_path(:current)获取“ http:// localhost:3000 / users / current”?

来自分类Dev

错误:正在加载http:// localhost:3000 / rxjs / RX(…)的XHR错误(找不到404)

来自分类Dev

启用了热模块替换,但无法正常使用http:// localhost:3000 / __ webpack_hmr

来自分类Dev

在http:// localhost:3000 / entries / view_all上引发错误

来自分类Dev

XHR错误(找不到404)载入http:// localhost:3000 / @ angular / core

来自分类Dev

CORS 策略阻止了从源“http://localhost:3000”获取 $AWS_LAMBDA_SITE 的访问权限

来自分类Dev

https:// localhost:8080无法正常运行,但http:// localhost:8080正常运行

来自分类Dev

http:// localhost:8080无法通过XAMPP运行apacher Server

来自分类Dev

无法在无业游民的轨道上连接localhost:3000 ruby

来自分类Dev

无法访问localhost:3000 ruby on rails ubuntu

来自分类Dev

无法运行localhost:3000:呈现白色空白页

Related 相关文章

  1. 1

    POST http:// localhost:3000/404(未找到)

  2. 2

    无法访问 http://localhost:3000/

  3. 3

    不能运行http:// localhost而不是http:// localhost:8012

  4. 4

    $ .getJSON将'http:// localhost:3000'添加到api URL

  5. 5

    POST http://localhost:3000/signin 400 (Bad Request) in react

  6. 6

    在 React 中将所有内容放在 http://localhost:3000/app 而不是 http://localhost:3000/ 下的最简单方法

  7. 7

    http:// localhost无法正常运行,但https:// localhost是否正常运行?

  8. 8

    代理错误:无法将请求 /users 从 localhost:3000 代理到 http://localhost:3001/

  9. 9

    如何运行,并访问http://localhost/TutorialApp 成功?

  10. 10

    http:// localhost:3000 / api / stuff的Http失败响应:400错误的请求

  11. 11

    ERR_CONNECTION_REFUSED http:// localhost:3000 / socket.io / socket.io.js

  12. 12

    Ember CLI和Rails:代理到http:// localhost:3000时出错

  13. 13

    从http:// localhost:3000 / app / main.js加载“ @ angular / platform-browser-dynamic”时出错

  14. 14

    GET http:// localhost:3000 / components / t.mp3 net :: ERR_ABORTED 404(未找到)

  15. 15

    react-full-page会阻止我的页面以特定ID(例如http:// localhost:3000 /#someIdWhereIWantThePageToBeOpened)打开

  16. 16

    拒绝从'http:// localhost:3000 / style.css'应用样式,因为它的MIME类型('text / html')

  17. 17

    身份验证POST http:// localhost:3000 / api / users / register 400(错误请求)MERN应用

  18. 18

    GET http:// localhost:3000/404(未找到),实际上是在拨打POST却获得GET

  19. 19

    如何从user_path(:current)获取“ http:// localhost:3000 / users / current”?

  20. 20

    错误:正在加载http:// localhost:3000 / rxjs / RX(…)的XHR错误(找不到404)

  21. 21

    启用了热模块替换,但无法正常使用http:// localhost:3000 / __ webpack_hmr

  22. 22

    在http:// localhost:3000 / entries / view_all上引发错误

  23. 23

    XHR错误(找不到404)载入http:// localhost:3000 / @ angular / core

  24. 24

    CORS 策略阻止了从源“http://localhost:3000”获取 $AWS_LAMBDA_SITE 的访问权限

  25. 25

    https:// localhost:8080无法正常运行,但http:// localhost:8080正常运行

  26. 26

    http:// localhost:8080无法通过XAMPP运行apacher Server

  27. 27

    无法在无业游民的轨道上连接localhost:3000 ruby

  28. 28

    无法访问localhost:3000 ruby on rails ubuntu

  29. 29

    无法运行localhost:3000:呈现白色空白页

热门标签

归档