Я супер новичок в Ruby on Rails. Я пытаюсь создать систему аутентификации с использованием Authlogic (после этого учебник ). Ошибка, которую я получаю, сразу после отправки формы авторизации:
No route matches "/user_sessions/%23%3CUserSession:0x103486aa8%3E"
Удивительно, но адрес страницы сразу после отправки формы, которая также вызывает ошибку:
http://localhost:3000/user_sessions/%23%3CUserSession:0x103486aa8%3E
Понятия не имею, что я сделал неправильно и откуда взялся этот странный код UserSession !!!
Вот так выглядит моя форма входа:
<% form_for @user_session do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :username %><br />
<%= f.text_field :username%>
</p>
<p>
<%= f.label :password %><br />
<%= f.password_field :password %>
</p>
<p><%= f.submit "Submit" %></p>
<% end %>
Вот мой класс UserSession:
class UserSession < Authlogic::Session::Base
def to_key
new_record? ? nil : [ self.send(self.class.primary_key) ]
end
end
и действие create моего UserSessionController :
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
flash[:notice] = "Login successful!"
redirect_back_or_default root_path
else
render :action => :new
end
end
Метод "redirect_back_or_default" в ApplicationController :
def redirect_back_or_default(default)
redirect_to(session[:return_to] || default)
session[:return_to] = nil
end
И, наконец, все, что связано с user_sessions в rout.rb :
resources :user_sessions
match 'login' => "user_sessions#destroy", :as => :login
match 'logout' => "user_sessions#destroy", :as => :logout
Это коды, которые, как думал I , могут быть связаны с этой ошибкой. Если мне нужно добавить еще код, чтобы сделать его более понятным, сообщите мне.