2015-01-10 5 views
1

я создаю URL для знака из системы:Rails перенаправляет к неправильному адресу

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

Sessions Контроллеры Destroy действие:

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

Ваш код нарушает соглашения о рельсах. Вы должны использовать это вместо:

view.rb

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

Вы не должны изменять routes.rb ресурсы. Не усложняйте:

routes.rb

resources :sessions 

Кроме того, вы должны использовать помощник URL, который Rails генерирует из вашего routes.rb файла, а не по абсолютному пути (если нет другой путь).

Смежные вопросы