在user.rb模型中
before_save :update_stripe
def update_stripe
if customer_id.nil? #line 1
if !stripe_token.present? #line 2
raise "Stripe token not present. Can't create account."
end
customer = Stripe::Customer.create(
:email => email, #line 3
:card => stripe_token, #line 4
)
self.role = "owner" #line 5
end
end
当我做'role =“owner”'它没有设置'角色'的设定者,但做'self.role =“所有者”'设置它,在'第5行',怎么样?此外,'customer_id','stripe_token','email'和'stripe_token'getter可以在“第1行”,“第2行”,“第3行”和“第4行”中获取没有“self”关键字的值。怎么样?
答案 0 :(得分:1)
执行setter_method = val,意味着,您实际上在方法中创建了一个局部变量,而不是访问您的setter,如Frederick Cheung提供的链接中所述。