Rails重定向到错误的地址

时间:2015-01-10 18:15:51

标签: ruby-on-rails

我创建了从系统注销的URL:

<li><%= link_to("Выйти", "http://bookworm.az:3000/logout") %></li>

会话控制器销毁行动:

def destroy
    session[:username] = nil
    redirect_to "http://bookworm.az:3000/login"
end

我的路线是:

get '/logout' => 'sessions#destroy'

但是当我点击链接时,它会将我重定向到

http://bookworm.az:3000/logout

不要

http://bookworm.az:3000/login

有什么问题?

1 个答案:

答案 0 :(得分:1)

您的代码违反了Rails惯例。你应该使用这个:

<强> view.rb

link_to "Delete", session_path(current_session), method: :delete

您不应更改 routes.rb 资源。保持简单:

<强>的routes.rb

resources :sessions

此外,您应该使用Rails从 routes.rb 文件生成的URL帮助程序,而不是使用绝对路径(除非没有其他方法)。