繁体   English   中英

rails authlogic gem-UserSessionsController中的销毁操作错误

[英]rails authlogic gem - destroy action error in UserSessionsController

我正在使用Authlogic gem作为Rails应用程序的身份验证系统。 这是我在UserSessionsController中的代码

class UserSessionsController < ApplicationController

  layout 'auth_layout'

  def new
    @user_session = UserSession.new
  end

  def create
    @user_session = UserSession.new(params[:user_session])
    if @user_session.save
      flash[:notice] = "Login successful!"
    else
      render :action => :new
    end
 end

 def destroy
   current_user_session.destroy
   redirect_to new_user_session_url
 end
end

尽管每次我在地址栏中输入/ user_sessions / destroy时,都会出现以下错误:

Unknown action

The action 'show' could not be found for UserSessionsController

有谁知道如何解决这个问题? 谢谢 :)

将以下内容添加到您的config/routes.rb

match "user_sessions/destroy" => "user_sessions#destroy", via: [:get]

假设您在config/routes.rb user_session路由定义为resourcedestroy操作的路由要求将HTTP方法DELETE/user_sessions ,并通过GET请求(不存在) /user_sessions/destroy路由浏览器的地址栏失败。

上面的路由的添加映射了您试图访问以加载UserSessions控制器的destroy方法而不是(不存在的) show方法的/user_sessions/destroy路径,并将"destroy"作为:id参数传递。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM