3
我只是试图将它描述为高级别。我试图访问http://localhost:3000/loginRails 3 RoutingError:没有路由匹配{:controller =>“user_sessions”}
的错误是:
No route matches {:controller=>"user_sessions"}
而且它的示数在这条线以下new.html.erb文件:
<%= form_for(@user_session) do |f| %>
路线在routes.rb中是:
match 'login' => 'user_sessions#new', :as => :login
的user_sessions_controller.rb是:
class UserSessionsController < ApplicationController
def new
@user_session = UserSession.new
end
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
flash[:notice] = "Successfully logged in."
redirect_to root_path
else
render :action => 'new'
end
end
def destroy
@user_session = UserSession.find
@user_session.destroy
flash[:notice] = "Successfully logged out."
redirect_to root_path
end
end
和登录页面的实际观点如下(new.html.erb):
<h1>Login</h1>
<%= form_for(@user_session) do |f| %>
<% if @user_session.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user_session.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
<% @user_session.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :login %><br />
<%= f.text_field :login %>
</p>
<p>
<%= f.label :password %><br />
<%= f.password_field :password %>
</p>
<p><%= f.submit "Submit" %></p>
<% end %>
谢谢。