我使用devise_openid_authenticatable来支持带有rails3 beta4设计的OpenID。
但是当我运行rake db:migrate时,它会发生[undefined method`applied_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>
== 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 / application.rb中的
有人能帮我一把吗?谢谢!
答案 0 :(得分:8)
我是devise_openid_authenticatable的作者。此问题是由Devise 1.1.0中的API更改稳定引起的。我添加了代码来检查并选择要使用的相应API。修复程序在新的devise_openid_authenticatable 1.0.0.alpha3中发布。
对此事感到抱歉!
答案 1 :(得分: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, String
到apply_devise_schema :identity_url, String
没关系!