3

私はMichaelHartlのRubyonRailsチュートリアルで作業しており、ユーザーをモデリングしています。User_spec.rbテストが失敗し、エラーの私の読み取りは、コードがアクセス可能であると言っているにもかかわらず、何らかの理由で属性がアクセス可能として読み取られていないことです。rake db:test:prepareも実行しました。どんな助けでも大歓迎です。

ユーザーモデルは単純です。

app / models / user.rb

class User < ActiveRecord::Base
  attr_accessible :name, :email

end

spec / models/user_spec.rbでのテストは次のとおりです。

require 'spec_helper'

describe User do

    before { @user = User.new(user: "Example User", email: "user@example.com") }

    subject { @user }

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

end
4

2 に答える 2

3

nameそうではないはずuserです...以下を確認してください

require 'spec_helper'

describe User do

  before { @user = User.new(name: "Example User", email: "user@example.com") }

  subject { @user }

  it { should respond_to(:name) }
  it { should respond_to(:email) }
end

Example Userforで新しいレコードを作成しているときに間違いを犯していuserます。する必要がありますname

于 2013-03-26T14:55:48.513 に答える
2

一括割り当てを介して更新するものはすべて、に含める必要がありますattr_accessible

これを変える

class User < ActiveRecord::Base
  attr_accessible :name, :email

end

これに:

class User < ActiveRecord::Base
  attr_accessible :name, :email, :user

end

user正しい属性名のようには見えませんが。多分そうなるはずusernameですか?

于 2013-03-26T14:53:31.910 に答える