首页 文章

在Rails3 beta4中使用OpenID设计,但引发[undefined method`applied_schema']错误

提问于
浏览
1

我使用devise_openid_authenticatable来支持带有rails3 beta4设计的OpenID . 但是当我运行rake db:migrate时,它会发生[undefined methodapplied_schema'] error.like this: ``== DeviseCreateUsers: migrating ==============================================
-- create_table(:users)
rake aborted!
An error has occurred, all later migrations canceled:

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

这是我的迁移文件:

class DeviseCreateUsers  false
      t.openid_authenticatable
      t.recoverable
      t.rememberable
      t.trackable

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

      t.timestamps
    end

    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
  end

  def self.down
    drop_table :users
  end
end

config.middleware.use Rack::OpenID 在config / application.rb中

有人能帮我一把吗?谢谢!

2 回答

  • 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_authenticatable/schema.rb从 apply_schema :identity_url, Stringapply_devise_schema :identity_url, String

    没关系!

  • 8

    我是devise_openid_authenticatable的作者 . 此问题是由Devise 1.1.0中的API更改稳定引起的 . 我添加了代码来检查并选择要使用的相应API . 修复程序在新的devise_openid_authenticatable 1.0.0.alpha3中发布 .

    抱歉有问题!

相关问题