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