0

authlogicgemを使用しています。私は助けを求めてrailscastsビデオをフォローしていまし たhttp://railscasts.com/episodes/160-authlogic?autoplay=truesudorake gems を実行すると問題が発生します:インストールするとエラーが発生します:

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)      ...

                          ^

rake gemをアンインストールして、再度インストールしてみました。低いバージョンのrakeを試してみましたが、それも機能しませんでした。

ここで何をすればいいですか?

レーキの宝石を編集して、そこに含める必要がありますか。

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

私はhttp://pastebin.com/Q3eL53ZJで上記を見つけました

はいの場合、どのように?より良い解決策がある場合は、私を案内してください。

4

2 に答える 2

1

Rails 2.x で master ブランチを使用しようとしていないことを確認してください。Rails 3.x とのみ互換性があります。

Rails 2.x を使用している場合は、rails2 ブランチを使用してください。gem のアップグレードについてあまり気にせずにレガシー サイトを維持したかったので、実際には古いバージョンを使用しました。バージョン 2.1.5 を使用しましたが、問題なく動作しました。

幸運を!

于 2012-08-20T23:28:42.947 に答える
0

これを修正するために、私は最初にすべてのauthlogicgemを削除しました。

  gemアンインストールauthlogic

私はrails2.3.15を使用しています。これは、hostgatorが使用しているものだからです。一致するauthlogicのバージョンは2.1.3なので、これをconfig/environment.rbに追加しました。

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

次に、rake gems:installを実行しました。その後、script/generate controller user_sessionsコマンドが実際にモデルにuser_session.rbを生成しました。

于 2013-01-25T16:30:17.467 に答える