我正在使用设计来验证用户身份。我已经为随时更新的用户定义了分数。一个单独的控制器负责更新分数。我使用@user.update_attributes(:score => new_score)
但无法保存更改。我怀疑是因为用户是一个设计对象。
有人可以帮我解决这个问题吗?
非常感谢
答案 0 :(得分:2)
使用Devise,您的用户模型中可能有attr_accessible
行。这是属性的白名单,可以通过哈希的批量分配(使用update_attributes等方法)进行更新。你可以做以下两件事之一:
将评分添加到attr_accessible
。这意味着默认情况下使用参数[:user] [:score] = x发布到用户编辑屏幕将更新用户的分数。
通过@user.score = x
直接在您的控制器中分配得分。直接分配不受attr_accessible