私はこの記事(http://asciicasts.com/episodes/160-authlogic)に従っていますが、気の利いたジェネレーターは使用していません。
User モデルを作成しましたが、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 ミリ秒)
ログインフォームがまったく表示されないのはなぜですか?
アップデート
新しいアクション 'index' を user_sessions コントローラー (さらに index.html.erb) に追加した後、開くlocalhost:3000/user_sessions/index
と以下のメッセージが表示されます。
不明なアクション 表示に応答したアクションはありません。アクション: create、destroy、index、および new
そして、これがWEBrickの出力です
UserSessionsController#show の処理 (2010-01-22 12:47:10 の 127.0.0.1 の場合) [GET]
パラメータ: {"id"=>"index"}
ActionController::UnknownAction (表示に応答するアクションはありません。アクション: 作成、破棄、索引付け、および新規作成):