我正在关注这篇文章(http://asciicasts.com/episodes/160-authlogic),但我没有使用漂亮的生成器。
我已经完成了用户模型和localhost:3000/users/new
页面工作正常。
但是当我尝试打开localhost:3000/login
时,页面只是空的。源也是空的。
我刚刚从网站上复制了源代码。
路线.rb
map.login 'login', :controller => 'user_sessions', :action => 'new'
map.logout 'logout', :controller => 'user_sessions', :action => 'destroy'
map.resources :user_sessions
map.resources :users
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_url
else
render :action => 'new'
end
end
def destroy
@user_session = UserSession.find
@user_session.destroy
flash[:notice] = "Successfully logged out."
redirect_to root_url
end
end
/views/user_sessions/new.html.erb
<% 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 %>
代码与网站相同。
服务器控制台显示正在呈现视图:
在 149 毫秒内完成 200 次 OK(查看次数:145.5 毫秒 | ActiveRecord:3.2 毫秒)
为什么登录表单根本不显示?
更新
将新操作“索引”添加到 user_sessions 控制器(也加上 index.html.erb)后,如果我打开会localhost:3000/user_sessions/index
显示下面的消息。
未知动作 没有动作响应显示。操作:创建、销毁、索引和新建
而且,这是 WEBrick 输出
处理 UserSessionsController#show(2010-01-22 12:47:10 为 127.0.0.1)[GET]
参数:{"id"=>"index"}
ActionController::UnknownAction(没有响应显示的操作。操作:创建、销毁、索引和新建):