0

我正在使用 authlogic gem。我正在关注 railscasts 视频寻求帮助 http://railscasts.com/episodes/160-authlogic?autoplay=true 我在执行 sudo rake gems:install 时遇到问题:安装它给了我一个错误:

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,但也没有用。

我应该在这里做什么?

我是否需要编辑 rake gem 并将其包含在其中..

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

我在http://pastebin.com/Q3eL53ZJ上找到了上述内容

如果是,那怎么办?如果有更好的解决方案,请指导我。

4

2 回答 2

1

确保您没有尝试将 master 分支与 Rails 2.x 一起使用,它仅与 Rails 3.x 兼容。

如果您使用的是 Rails 2.x,请使用 rails2 分支,我实际上只是使用了旧版本,因为我只想维护一些遗留站点,而不必过多担心升级 gem。我使用了 2.1.5 版本,它运行良好。

祝你好运!

于 2012-08-20T23:28:42.947 回答
0

为了解决这个问题,我首先删除了我所有的 authlogic gem:

  gem 卸载 authlogic

我正在使用 rails 2.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 回答