我正在关注this article(http://asciicasts.com/episodes/160-authlogic),我没有使用漂亮的发电机。
我已完成用户模型,localhost:3000/users/new
页面工作正常。
但是当我尝试打开localhost:3000/login
时,页面只是空的。来源也是空的。
我刚从网站上复制了来源。
的routes.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 %>
代码与网站相同。
服务器控制台显示正在呈现视图:
在149ms完成200 OK(浏览次数:145.5ms | ActiveRecord:3.2ms)
为什么登录表单根本没有显示?
更新
将新动作'index'添加到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”=&gt;“index”}
ActionController :: UnknownAction(No 行动回应显示。操作: 创建,销毁,索引和新):
答案 0 :(得分:2)
我找到了原因。
Views / layouts / application.html.erb中没有任何内容,该文件存在,tho。
答案 1 :(得分:1)
/views/new.html.erb
应位于views/user_sessions/new.html.erb