1

Ruby on Rails を使用してログイン/セッションをセットアップしようとしていますが、ログイン ページをレンダリングしようとすると、次のエラーが発生します。

/Users/farhadam/mboddy/app/controllers/sessions_controller.rb:10: 構文エラー、予期しない tLBRACK、keyword_do または '{' または '(' パラメーターが必要です [:session][:password] ^ /Users/farhadam/mboddy/ app/controllers/sessions_controller.rb:11: 構文エラー、予期しない ')'、keyword_end が必要です

ここに私のセッションコントローラがあります:

class SessionsController < ApplicationController

def new
end

def create
user = User.validate_login (

    params [:session][:email],
    params [:session][:password]
    )

if User
    sessions[:user_id] = user.id
    redirect_to login_path
else
    flash[:status] = FALSE
    flash[:alert] = 'Invalid username and password!'

    redirect_to login_path
end
end

def destroy

session[:user_id] = nil
redirect_to login_path
end

end
4

1 に答える 1

1

の引数をUser.validate_login1 行で渡してみてください。

user = User.validate_login(params[:session][:email], params[:session][:password])

また、次の行 ( if User) では、ユーザー オブジェクトが正常に認証されたかどうかをテストしていると思われます。その場合は、次のように変更する必要があります。

if user

クラスを評価することは、クラスインスタンスUserを評価することと同じではありません。は常に true と評価されるため ( is neverであるため)、ローカル変数にユーザーが正常に割り当てられたかどうかを評価する必要があります。userUserUsernilUser.validate_loginuser

于 2013-11-07T05:21:10.063 に答える