1

我在 rails3 beta4 中使用 devise_openid_authenticable 来支持 OpenID。但是当我运行 rake db:migrate 时,它​​会发生 [undefined method `apply_schema'] 错误。像这样:

==  DeviseCreateUsers: migrating ==============================================
-- create_table(:users)
rake aborted!
An error has occurred, all later migrations canceled:

undefined method `apply_schema' for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x1036ffb40>

这是我的迁移文件:

类 DeviseCreateUsers 假
      t.openid_authenticable
      t.recoverable
      t.rememberable
      t.trackable

      # t.confirmable
      # t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
      # t.token_authenticable

      t.timestamps
    结尾

    add_index :users, :identity_url, :unique => true
    # add_index :users, :email, :unique => true
    # add_index :users, :reset_password_token, :unique => true
    # add_index :users, :confirmation_token, :unique => true
    # add_index :users, :unlock_token, :unique => true
  结尾

  def self.down
    drop_table :用户
  结尾
结尾

config.middleware.use Rack::OpenIDconfig/application.rb

有人可以帮我吗?谢谢!

4

2 回答 2

8

我是 devise_openid_authenticable 的作者。此问题是由 Devise 1.1.0 稳定版中的 API 更改引起的。我添加了代码来检查这一点并选择要使用的适当 API。该修复程序在新的 devise_openid_authenticable 1.0.0.alpha3 中发布。

抱歉给您添麻烦了!

于 2010-07-29T14:46:02.043 回答
2

我想我已经解决了这个问题。

首先,键入$ bundle show devise_openid_authenticatable以查看捆绑 gem 的安装位置。例如/Users/YOURNAME/.bundle/ruby/1.8/gems/devise_openid_authenticatable-1.0.0.alpha2 cd 在这个目录中,修改 /lib/devise_openid_authenticable/schema.rbapply_schema :identity_url, Stringapply_devise_schema :identity_url, String

没关系!

于 2010-07-07T06:57:01.113 回答