0

作成したログイン フォームを使用してユーザーにログインさせようとしています。Tut の手順に従ってセッション Cookie などを取得しました (以下のコードを参照)。ログイン フォームを送信しようとすると、このエラーが発生します。 : (さらに、ページを --> :3000/sessions にリダイレクトします)


NameError in SessionsController#create

未定義のローカル変数またはメソッド `user' for #

Rails.root: C:/rails_projects/sample_app

app/helpers/sessions_helper.rb:13:in `current_user='

app/helpers/sessions_helper.rb:5:in `sign_in'

app/controllers/sessions_controller.rb:10:`create' で


リクエスト

パラメーター:

{"utf8"=>"✓",

"authenticity_token"=>"9q8ye89fq0394u790qjfq0ngq4t=",

"セッション"=>{"メール"=>"example@example.com",

"パスワード"=>"[フィルタリング]"},

"commit"=>"サインイン"}


/sessions_helper.rb:

module SessionsHelper

    def sign_in(user)
        cookies.permanent[:remember_token] = user.remember_token
        self.current_user = user
    end

    def signed_in?
    !current_user.nil?  
    end

    def current_user=(uaser)
        @current_user = user
    end

    def current_user
        @current_user ||= User.find_by_remember_token(cookies[:remember_token])
    end

end

/sessions_controller.rb

class SessionsController < ApplicationController

    def new

    end

    def create
    user = User.find_by_email(params[:session][:email])
    if user && user.authenticate(params[:session][:password])
        sign_in user
        redirect_to user
    else
        flash.now[:error] = 'Invalid email/password combination'
        render 'new'
        end
    end

    def destroy

    end

end

/routes.rb ファイル:

  SampleApp::Application.routes.draw do

  resources :users
  resources :sessions, only: [:new, :create, :destroy]

  root :to => 'static_pages#home'

  match '/help', to: "static_pages#help"

  match '/about', to: "static_pages#about"

  match '/contact', to: "static_pages#contact"

  match '/signup', to: 'users#new'
  match '/signin', to: 'sessions#new'
  match '/signout', to: 'sessions#destroy', method: "delete"
4

2 に答える 2

0

この行にタイプミスがあります:

def current_user=(uaser)

そのはず

def current_user=(user)
于 2013-11-08T03:34:38.890 に答える
0

タイプミスがあります。変化する:

def current_user=(uaser)

def current_user=(user)

于 2013-11-08T03:34:45.383 に答える