-2

ActiveRecord::UsersController#index の RecordNotFound

ID Rails.root のない UserSession が見つかりませんでした: C:/Sites/login_app

アプリケーション トレース | フレームワーク トレース | フル トレース app/controllers/application_controller.rb:9:in current_user_session' app/controllers/application_controller.rb:14:incurrent_user' app/views/layouts/application.html.erb:12:in _app_views_layouts_application_html_erb__233847886_33215772' app/controllers/users_controller.rb:7:inindex'

  • class ApplicationController < ActionController::Base
    protect_from_forgery
    helper_method :current_user private
    def current_user_session
    定義されている場合は @current_user_session を返しますか?(@current_user_session)
    @current_user_session = UserSession.find
    end
    def current_user
    定義されている場合は @current_user を返しますか?(@current_user)
    @current_user = current_user_session && current_user_session.記録
    終了
    _

  • class HomeController < ApplicationController
    def index
    end
    end

  • クラス UserSessionsController < ApplicationController

    def new
    @user_session = UserSession.new
    Respond_to do |フォーマット|
    format.html # new.html.erb
    format.xml { render :xml => @user_session }
    end
    end

    def create
    @user_session = UserSession.new(params[:user_session])
    Respond_to do |フォーマット|
    if @user_session.save
    format.html { redirect_to(:users, :notice => 'ログイン成功') }
    format.xml { render :xml => @user_session, :status => :created, :location => @user_session }
    else
    format.html { render :action => "new" }
    format.xml { render :xml => @user_session.errors, :status => :unprocessable_entity }
    end
    end
    end
    def destroy
    @user_session = UserSession.find
    @user_session.destroy
    Respond_to do |フォーマット|
    format.html { redirect_to(:users, :notice => 'さようなら!') }
    形式。
    終わり
    終わり
    終わり

  • class UsersController < ApplicationController

    def index
    @users = User.all
    Respond_to do |フォーマット|
    format.html # index.html.erb
    format.json { render json: @users }
    end
    end

    def show
    @user = User.find(params[:id])
    Respond_to do |フォーマット|
    format.html # show.html.erb
    format.json { render json: @user }
    end
    end

    def new
    @user = User.new
    Respond_to do |フォーマット|
    format.html # new.html.erb
    format.json { render json: @user }
    end def edit @user = User.find (params[:id])
    end



    def create
    @user = User.new(params[:user])
    Respond_to do |フォーマット|
    if @user.save
    format.html { redirect_to(:users, :notice => '登録成功') }
    format.xml { render :xml => @user, :status => :created, :location => @user }
    else
    format.html { render :action => "new" }
    format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
    end
    end
    end

def update
@user = User.find(params[:id])
Respond_to do |フォーマット|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 「ユーザーは正常に更新されました。」}
format.json { head :no_content }
else
format.html { render アクション: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end

def destroy
@user = User.find(params[:id])
@user.destroy
Respond_to do |format|
format.html { redirect_to users_url }

format.json { head :no_content }
end
end
end

  • layout/apllication.html



    LoginApp
    <%= stylesheet_link_tag :all %>
    <%= javascript_include_tag :defaults %>
    <%= csrf_meta_tag %>



    <% if current_user %>
    <%= link_to "Edit Profile", edit_user_path(current_user.id)% >
    <%= link_to "Logout", :logout%>
    <% else %>
    <%= link_to "Register", new_user_path%>
    <%= link_to "Login", :login %>
    <% end %>

    <%= yield %>


  • user_seesion/_form.html
    <%= form_for(@user_session) do |f| %>
    <% if @user_session.errors.any? %>

    <%=pluralize(@user_session.errors.count, "error") %> は、この user_session の保存を禁止しました:



      <% @user_session.errors.full_messages.each do |msg| %>
    • <%= メッセージ %>

    • <%終了%>


    <%終了%>


    <%= f.label :username %>

    <%= f.text_field :username %>


    <%= f.label :password %>

    <%= f.password_fields :password %>


    <%= f.submit %>

    <%終了 %>

  • user_sessions/edit.html

    user_session の編集


    <%= render 'form' %>
    <%= link_to 'Show', @user_session %>
    | <%= link_to 'Back', user_sessions_path %>

  • user_sessions/index.html :

    user_sessions の一覧表示




ユーザー名
パスワード





<% @user_sessions.each do |user_session| %>

<%= user_session.username %>
<%= user_session.password %>
<%= link_to 'Show', user_session %>
<%= link_to 'Edit', edit_user_session_path(user_session) %>
<%= link_to 'Destroy' , user_session, method: :delete, data: { confirm: 'よろしいですか?' } %>

<% 終了 %>


<%= link_to '新しいユーザー セッション', new_user_session_path %>

  • user_sessions/new.html

    ログイン



<%= 'フォーム' をレンダリング %>

<%= link_to 'Back', user_sessions_path %>

  • user_sessions/show.html

    <%= お知らせ %>




    ユーザー名:
    <%= @user_session.username %>



パスワード:
<%= @user_session.password %>


<%= link_to 'Edit', edit_user_session_path(@user_session) %>
| <%= link_to 'Back', user_sessions_path %>

-users/_form.html
<%= form_for(@user) do |f| %>
<% if @user.errors.any? %>

<%=pluralize(@user.errors.count, "error") %> は、このユーザーの保存を禁止しました:


  <ul><br/>
  <% @user.errors.full_messages.each do |msg| %><br/>
    <li><%= msg %></li><br/>
  <% end %><br/>
  </ul><br/>
</div><br/>

<%終了%>


<%= f.label :ユーザー名 %>

<%= f.text_field :ユーザー名 %>


<%= f.label :email %>

<%= f.text_field :email %>


<%= f.label :password %>

<%= f.password_field :password %>


<%= f.label :password_confirmation %>

<%= f.password_field :password_confirmation %>


<%= f.submit 'create user'%>

<% end %>

  • users/edit.html

    ユーザーの編集


<%= 'フォーム' をレンダリング %>

<%= link_to 'Show', @user %>
| <%= link_to 'Back', users_path %>

  • ユーザー/index.html:

    ユーザーの一覧表示


    <%=通知%>




    ユーザー名
    メール




<% @users.each do |ユーザー| %>

<%= user.username %>
<%= user.email %>
<%= link_to 'Show', user %>
<%= link_to 'Edit', edit_user_path(user) %>
<%= link_to 'Destroy' , user, :confirm => 'よろしいですか?', :method => :delete %>

<% end %>


<%= link_to '新しいユーザー', new_user_path %>

  • ユーザー/new.html:

    新しいユーザー


<%= render 'form' %>
<%= link_to 'Back', users_path %>

  • users/show.html :
    <%= お知らせ %>



ユーザー名:
<%= @user.username %>



電子メール:
<%= @user.email %>



暗号化されたパスワード:
<%= @user.crypted_pa​​ssword %>



パスワードソルト:
<%= @user.password_salt %>



持続トークン:
<%= @user.persistence_token %>


<%= link_to 'Edit', edit_user_path(@user) %>
| <%= link_to 'Back', users_path %>

4

1 に答える 1

1

user_session.rbで、次のように、継承されたクラスをAuthlogic :: Session::Baseに変更する必要があります。

class UserSession < Authlogic::Session::Base
...
end

また、次回は、要点などを使用して、コードの大きなチャンクを貼り付けるか、少なくともフォーマットします。お役に立てば幸いです。

于 2013-02-07T13:52:59.473 に答える