6

過去 2 時間かけて何が問題なのかを調べましたが、どこにも答えが見つかりませんでした。

それは私の最初の Rails アプリケーション (Hartl のチュートリアルを除く) なので、解決策は簡単かもしれません..私は Devise を使用してユーザーを管理していますが、今まではすべて問題ありませんでした。

User モデルをテストしようとして、次のようなファクトリを定義しました。

FactoryGirl.define do
  factory :user do
    email "g@g.com"
    password "123123"
    password_confirmation { "123123" }
  end
end

テストは次のとおりです。

describe User do
#  pending "add some examples to (or delete) #{__FILE__}"

    @user = FactoryGirl.create(:user) 


    subject(:user)

    it { should respond_to(:email) }
    it { should respond_to(:password) }

    it { should be_valid }
end

しかし、最後の行 ( it { should be_valid } ) はテストに失敗します。

user/@user の値を出力しました(両方を試しました)が、nil になりました。 編集:nilではありません。これは

#<User id: 13, email: "email1@factory.com", encrypted_password: "$2a$04$.lWs6yadJu/Ya67xi.W1F.fd6sWLGkzc/59.lgTi0sA7...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: "2012-08-27 15:48:23", updated_at: "2012-08-27 15:48:23">

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me
  # attr_accessible :title, :body

  validates :email, :presence => true
  validates :password, :presence => true
end

見えないって何?

4

1 に答える 1

4

OK、やっと問題が見つかりました。User モデルに変更を加えるたびに、「spork」を再起動する必要があることがわかりました。これは、それをプリロードするためです。

于 2012-08-27T16:35:30.693 に答える