Ruby on rails 调用update_属性时参数数目错误(给定0,应为1)
我有一个方法,每次用户使用facebook或gplus登录到我的应用程序时都会调用该方法,我会更新每次登录时的所有用户字段Ruby on rails 调用update_属性时参数数目错误(给定0,应为1),ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,我有一个方法,每次用户使用facebook或gplus登录到我的应用程序时都会调用该方法,我会更新每次登录时的所有用户字段 user = where(:email => email).first_or_create do |user| user.uid = uid user.email = email user.provider = provider user.save! end user.first_name = au
user = where(:email => email).first_or_create do |user|
user.uid = uid
user.email = email
user.provider = provider
user.save!
end
user.first_name = auth["first_name"]
user.last_name = auth["last_name"]
user.nickname = auth["first_name"]
user.name = auth["name"]
user.gender = auth["gender"]
user.role = "user"
user.latitude = 0
user.longitude = 0
user.update_attributes(user.attributes)
user
但每次调用此方法时,我都会遇到以下错误,类似的情况是,即使在尝试更新单个属性时,我也会遇到此错误
user.upate_attributes(:token => token)
参数数目错误(给定0,应为1)
似乎无法理解为什么不保存用户实例
# ...
user.longitude = 0
user.save
还是这样试试
user.update_attributes(
first_name: auth["first_name"],
last_name: auth["last_name"],
nickname: auth["first_name"],
name: auth["name"],
gender: auth["gender"],
role: "user",
latitude: 0,
longitude: 0
)
另外,在您的第二个命令中,有一个输入错误
user.upate_attributes(:token => token)
# Change to
user.update_attributes(:token => token)
为什么不保存用户实例呢
# ...
user.longitude = 0
user.save
还是这样试试
user.update_attributes(
first_name: auth["first_name"],
last_name: auth["last_name"],
nickname: auth["first_name"],
name: auth["name"],
gender: auth["gender"],
role: "user",
latitude: 0,
longitude: 0
)
另外,在您的第二个命令中,有一个输入错误
user.upate_attributes(:token => token)
# Change to
user.update_attributes(:token => token)
user.save会给我同样的错误,另一种方式也是如此!:/此错误
参数数量错误(给定为0,预期为1)
或其他错误如果您也可以发布回溯解决此问题,这是一个愚蠢的错误!所以,基本上我使用的是facebook登录,并且有一个安全的密码,在提供加密密码之前不会让我继续。删除了它,它现在可以正常工作了!哦这是greatuser.save给了我同样的错误,另一种方法也是如此/此错误参数数量错误(给定为0,预期为1)
或其他错误如果您也可以发布回溯解决此问题,这是一个愚蠢的错误!所以,基本上我使用的是facebook登录,并且有一个安全的密码,在提供加密密码之前不会让我继续。删除了它,它现在可以正常工作了!哦太好了