为什么:
User.stuff_to_extract = 'boo'
在导轨c中工作
但是在rspec中它失败了:
Failure/Error: @user1.stuff_to_extract = 'XXXXXX'
NoMethodError:
undefined method `stuff_to_extract=' for #<User:0x105cd4e60>
require 'factory_girl'
Factory.define :user do |f|
f.sequence(:fname) { |n| "fname#{n}" }
f.sequence(:lname) { |n| "lname#{n}" }
f.sequence(:email) { |n| "email#{n}@google.com" }
f.password "password"
f.password_confirmation { |u| u.password }
f.invitation_code "xxxxxxx"
f.email_signature_to_extract ""
end
答案 0 :(得分:0)
在第一种情况下,您在User类上调用该方法。在第二个中,您在User实例上调用它。要修复第二个示例,请使用:
User.stuff_to_extract = 'XXXXXX'
或重新定义您的函数以供实例使用:
class User
def stuff_to_extract= stuff
...
end
end
而不是可用于班级:
class User
def self.stuff_to_extract= stuff
...
end
end