我正在研究Michael Hartl的Ruby on Rails教程,并且正在为用户建模。 User_spec.rb测试失败了,我读错误是由于某种原因,属性没有被读取为可访问,尽管代码说它们应该是。我做了rake db:test:准备好了。任何帮助将非常感激。
用户模型很简单。
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
答案 0 :(得分: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 User
user
创建新记录时,您犯了错误。它应该是name
。
答案 1 :(得分:2)
您希望通过批量分配更新的内容需要在attr_accessible
。
更改此
class User < ActiveRecord::Base
attr_accessible :name, :email
end
到此:
class User < ActiveRecord::Base
attr_accessible :name, :email, :user
end
虽然user
似乎不是正确的属性名称。可能应该是username
吗?