0

-- create_table(:admin_users) レーキが中止されました! エラーが発生しました。これ以降の移行はすべてキャンセルされました:

未定義のメソッド「database_authenticatable」 #

タスク: TOP => db:migrate 解決方法は? ありがとう!

移行

create_table(:admin_users) do |t|
      t.database_authenticatable :null => false
      t.recoverable
      t.rememberable
      t.trackable
      t.timestamps
end

gemfile にすべての gem があり、インストールされている

4

4 に答える 4

1

答えは単純です。デバイス チームは最低です!!! これを解決するには、GEMFILE gem 'devise', "~> 1.5" で make cnanges が必要です

1.5 には database_authenticatable タイプのサポートがあり、2.1.0 にはこのタイプのフィールドの作成ではなく互換性のみのサポートがあるため、皆さんに感謝します。

于 2012-06-08T17:07:46.260 に答える
1

Gemfile にデバイスがあり、バンドルがインストールされていることを確認してください。

于 2012-06-08T16:44:09.163 に答える
0

Devise 2.0 以降では、マイグレーション ヘルパー メソッド (t.database_authenticatable など) は利用できません (ウィキの説明はこちら)。ユーザー向けに新しいモデルを作成している場合は、次のようにデバイス マイグレーション ジェネレーターを使用します。

rails g devise admin_users (If you're installing devise on your app)

必要なフィールドを既存のユーザー モデルに追加する場合は、devise wiki のこのページを確認してください。

Rails に最新バージョンのデバイスをインストールするための最新情報が記載されている、デバイスのメインの READMEを確認してください。

于 2012-06-08T16:48:17.590 に答える