2011-02-07 69 views
2

我試圖在Rails 3中實現Authlogic,頭痛後頭痛......我對Rails非常陌生,所以請原諒我不是專家。我也跟着上一直是非常有幫助的主題railscast,但只要提交我通過實際的網站,我得到這個創建新的用戶表單:未定義的方法`激活?'

undefined method `activated?' 

app/controllers/users_controller.rb:37:in `create' 

任何幫助會如此感激...有一個與此今晚頭痛...

代碼從創建方法:

def create 
    @user = User.new(params[:user]) 
    if @user.save 
     flash[:notice] = "Registration successful." 
    else 
     render :action => 'new' 
    end 
    end 
+0

在`UsersController#create`方法的代碼粘貼,所以我們可以看到它正試圖做的事。 – 2011-02-07 22:58:49

+1

如果其他人遇到此問題 - 重新生成您的user_session模型並填充它: class UserSession Jamie 2011-02-07 23:44:22

回答

5

如果任何人碰到這個問題 - 重新生成USER_SESSION模型,並用填充:

class UserSession < Authlogic::Session::Base 
    def to_key 
    new_record? ? nil : [ self.send(self.class.primary_key) ] 
    end 
end 

這爲我修好了...似乎是圍繞該模型的錯誤,至少回到基礎!

2

對我來說,問題在於user_sessions表的存在。如果您通過生成器創建了UserSession模型,則您將進行創建該表的遷移。

只需刪除表(無論是在測試數據庫還是開發數據庫中)和遷移文件都爲我解決了問題。

乾杯,

- 何塞