2012-06-17 38 views
0

我正在使用authlogic gem。我在下面幫忙 http://railscasts.com/episodes/160-authlogic?autoplay=true 的railscasts視頻我碰上當我做 須藤耙寶石一個問題:安裝 它給了我一個錯誤:authlogic不能使用rails 2.3

at /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb 

rake aborted! 

(eval):1:in `define_callbacks': compile error 

(eval):1: syntax error, unexpected tEQ, expecting '\n' or ';' 
... def self.terminatorresult == false(*methods, &block)  ... 

         ^

我試圖卸載耙寶石和重新安裝它。 我試圖去一個較低版本的耙子,也沒有工作。

我應該在這裏做什麼?

我需要編輯耙寶石 ,包括這有..

base.define_callbacks :persist, :terminator => "result == true" 

我發現上面的 http://pastebin.com/Q3eL53ZJ

如果是的話怎麼樣? 如果有更好的解決方案,請指導我。

回答

1

確保你沒有試圖在Rails 2.x中使用master分支,它只與Rails 3.x兼容。

如果您使用Rails 2.x,那麼使用rails2分支,實際上我只是使用了舊版本,因爲我只想維護一些遺留站點而不必過多關心升級寶石。我使用的版本2.1.5,它工作正常。

祝你好運!

0

爲了解決這個問題,我首先打消了我所有authlogic寶石:

 
    gem uninstall authlogic 

我使用的軌道2.3.15因爲這是HostGator的使用。匹配的authlogic版本2.1.3是,所以我說這到config/environment.rb:

 
config.gem "authlogic", :version => '2.1.3' 

那時耙寶石:安裝。之後,script/generate controller user_sessions命令實際上在模型中生成了user_session.rb。