因此,遵循Hartl示例应用程序教程,在过去的关系规范测试中遇到了一些困难。
在我的规范文件里
describe "follow methods" do
before(:each) do
@follower = User.create!( :name => "Example User",
:email => "user@example.com",
:password => "foobar",
:password_confirmation => "foobar"
)
@followed = User.create!( :name => "Example User",
:email => "user_five@example.com",
:password => "foobar",
:password_confirmation => "foobar"
)
@attr = { :followed_id => @followed.id }
@relationship = @follower.relationships.create!(@attr)
end我知道这与书中的不一样,但是我没有使用FactoryGirl。
当使用这个块进行测试时,我的@attr会出现一个错误,该@attr会读取;
Failure/Error: @attr = { :followed_id => @followed.id }
NoMethodError:
undefined method `id' for #<Hash:0x00000108d0b2a0>但是,当我在我的控制台中运行这个块时,它工作得很好。id是根据@attr设置的,我可以调用.id on @ call。
任何帮助都会一如既往地感谢你!
发布于 2014-09-29 13:25:36
根据您的错误,哈希的方法id不存在。
要访问它,您可以使用以下内容:
@attr = { :followed_id => @followed['id'] }问题是你想做@followed.id
https://stackoverflow.com/questions/26065241
复制相似问题