0
我有一个方法定义为运动员,它是用户模型中的创建者,以及定义为默认值为false的运动员的布尔列。切换数据库值
提供者是Twitter或Facebook,如果提供者不是其中的任何一个,那么我希望它只是在下面的方法中将运动员列切换为true。
def athlete?
provider.blank?
end
我尝试了多件事情,但没有运气像下面的切换方法没有运气。
def athlete?
provider.blank?
user.toggle!(:athlete)
end
纠正任何的Twitter,Facebook或空白。我想更新属性,所以我尝试了第二种方法,并得到这个错误:'code'undefined method' any?'为零:NilClass – CrazyCoderMonkey 2012-08-04 22:40:02
您是否正在创建新记录?如果是这样,那么“提供者”没有被设置,这就是导致错误的原因。如果发生错误,我会将我的代码块更新为默认值“true”。让我知道你是如何使用代码的,你是在创建一个新的记录?更新?查看? – 2012-08-04 22:47:07
我创建了一条新记录,但默认情况下提供者应该是空白的,运动员列应该是false,如果提供者为空,则设置为true。它的工作现在没有错误,但它不保存对数据库的更改,所以运动员专栏仍然是错误的。谢谢 – CrazyCoderMonkey 2012-08-04 22:56:15