0
我試圖使用authlogic,但顯然我做錯了什麼。成功創建用戶(在控制檯中用User.all驗證)後,我會嘗試登錄,但只能失敗。我究竟做錯了什麼?無法登錄使用AuthLogic
此外,RubyMine的標記 UserSession.new(PARAMS [:USER_SESSION]) 爲錯誤的,因爲UserSession.new沒有參數 是,僅僅用的RubyMine有問題?
這裏是我的模型代碼
class User < ActiveRecord::Base
acts_as_authentic do |config|
config.login_field = :email
end
validate :cannot_exceed_100_users
protected
def cannot_exceed_100_users
if User.count > 100
errors.add_to_base('Cannot have more than 100 users.')
end
end
end
class UserSession < Authlogic::Session::Base
def to_key
[session_key]
end
end
這裏是我的控制器代碼
class UserSessionsController < ApplicationController
def new
@user_session = UserSession.new
end
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
logger.info 'success'
redirect_to games_path
else
logger.info 'failed'
render :action=>'new'
end
end
def destroy
current_user_session.destroy
redirect_to new_user_session_path
end
end
這裏是我的登錄頁面代碼
<div>
<%= form_tag :action=>'create' do %>
<p>Please Log In</p>
<div>
<label for="email">Email:</label>
<%= text_field_tag :email, params[:email] %>
</div>
<div>
<label for="password">Password</label>
<%= password_field_tag :password, params[:password] %>
</div>
<div>
<%= submit_tag "Login" %>
</div>
<% end %>
<%= link_to 'register', new_user_path %>
</div>
嗨,感謝您的回覆;我認爲params [:user_session]與明確列出的東西是一樣的。讓我先試試它。 – Max
RubyMine實際上是說構造函數接受零參數。我想我會忽略那部分。 – Max
沒有,仍然無法登錄。 – Max