Я установил УСПОКОИТЕЛЬНУЮ аутентификацию, и все, кажется, хорошо работает. я могу подписаться и войти в систему. единственным путем я могу выйти из системы, путем ввода в URL http://localhost:3000/logout
как я добавляю кнопку выхода из системы на странице? я пытался добавить тот к members.rhtml
<%= link_to "logout", :controller=> "sessions", :action=> "destroy" %>
который ссылается на session_controller.rb, но я добираюсь, ошибка "Никакое действие ответила на шоу. Действия: создайте, уничтожьте, и новый"
какие-либо мысли? спасибо
Что у вас есть в файле маршрутов?
Попробуйте положить
map.log_out 'logout', :controller => 'sessions', :action => 'destroy'
в свои маршруты.
Тогда просто иметь
<%= link_to "Sign out", log_out_url %>
для ссылки на выйти.
Редактировать
Все все вниз, чтобы вы указываете маршрутизацию.
Потому что у вас была карта .log_out в маршрутизации, то URL http: // localhost: 3000 / Выход URL-адрес URL-адрес забирается и направляется на правильное действие.
Если у вас есть:
<%= link_to "logout", :controller=> "sessions", :action=> "destroy" %>
Это просто сгенерирует ссылку для вас http: // localhost: 3000 / сеанс . Но это ничего не делает для маршрутизации. Вам все еще нужно указать правильные маршруты.
Обратите внимание, что рельсы не добавляют к URL-адреса. (это не создаст http: // localhost: 3000 // Уничтожьте .) .) Предполагается, что если у вас есть действие уничтожения, вы будете отправлять его с помощью удаления http глагол. По какой-то причине его не совсем идеально, и он на самом деле не имеет значения по умолчанию для отправки глагола удаления.
Вы можете заставить это сделать это:
<%= link_to "logout", {:controller=> "user_sessions", :action=> "destroy"}, :method => :delete%>
Это все еще не будет работать, если вы также не направите его правильно. Если вы поместите в маршруты следующие маршруты:
map.resource :session
Затем Rails генерируют маршрутизацию для всех глаголов и указывают для них действия по умолчанию для них, включая удаление. Больше информации можно найти здесь: рельсы маршрутизации снаружи в .
Эта целая страница стоит читать и снова, пока вы действительно это не поймете. Маршрутизация является ключом к пониманию рельсов!
Для простого контроллера, подобных сеансам, проще просто указать маршрут log_out, а затем ссылку на log_out_url ..
(надеюсь, что имеет смысл, лишение сна ползет!)