我正在尝试在Rails 3中实现Authlogic并且在头痛之后一直很头疼...我对rails非常新,所以请原谅我不是专家。我跟着关于这个主题的railscast非常有帮助,但是一旦我通过实际的网站提交我的创建新用户表单,我就得到了:
undefined method `activated?'
app/controllers/users_controller.rb:37:in `create'
任何帮助都会受到赞赏......今晚很头疼...
来自create method的代码:
def create
@user = User.new(params[:user])
if @user.save
flash[:notice] = "Registration successful."
else
render :action => 'new'
end
end
答案 0 :(得分:5)
如果有其他人遇到此问题 - 重新生成您的user_session模型并填写:
class UserSession < Authlogic::Session::Base
def to_key
new_record? ? nil : [ self.send(self.class.primary_key) ]
end
end
这为我修好了......至少围绕这个模型似乎是一个错误,所以把它带回基础!
答案 1 :(得分:2)
我遇到的问题是user_sessions表的存在。如果您通过生成器创建了UserSession模型,则可以进行迁移以创建该表。
简单地删除表(在测试和开发数据库中)和迁移文件解决了我的问题。
干杯,
- 何塞