これは二重質問ではありませんrake db:test:prepare。
追加に関する Hartl の Rails チュートリアルremember_token。
authentication_pages_spec.rb を実行するとエラーが発生します:
1) User
Failure/Error: it { should respond_to(:remember_token) }
expected #<User id: nil, name: "Example User", email: "user@example.com", created_at: nil, updated_at: nil, password_digest: "$2a$04$eszlV1FYN2HahpYn1X/NyOTWYbzKjfLZCv7Vc2I0Wb3p..."> to respond to :remember_token
# ./spec/models/user_spec.rb:18:in `block (2 levels) in <top (required)>'
私の間違い:
TIMESTAMP_add_remember_token_to_users.rb を生成し、次のコードを追加しました。
class AddRememberTokenToUsers < ActiveRecord::Migration
def change
add_column :user, :remember_token, :string
add_index :user, :remember_token
end
end
私は走っrake db:migrateたrake db:test:prepare。上記のコードは両方の行にある:userはずであると判断しました。:usersコードは次のようになります。
class AddRememberTokenToUsers < ActiveRecord::Migration
def change
add_column :users, :remember_token, :string
add_index :users, :remember_token
end
end
テストはまだ失敗しています。これらの編集を行った後、実行rake db:migrateしましたがrake db:test:prepare、役に立ちませんでした。
を使用してデータベースをロールバックしようとしましrake db:rollbackたが、次のエラーが発生します。
Index name 'index_users_on_remember_token' on table 'users' does not exist
これは、私が発見した問題を強調していると思います。
私がする必要があるのは、このデータベースファイルをロールバックまたは削除し、やり直しremember_tokenてusersテーブルに入れることだと思います。
どんな助けでも大歓迎です。