2011-12-13 70 views
1

我有一个Rails应用程序,它已经与一些用户无法删除的用户一起运行。将列添加到表后无法更新旧条目Rails 3.1

现在我已经添加了几列到用户表(如姓,昵称)。

问题是,虽然新注册可以更改那里的配置文件信息,但现有的配置文件信息无法更改它们。

任何帮助?

回答

0

我做了一个愚蠢的错误,因为它没有更新配置文件中的条目。

我添加了新的列,其中少数在注册时是强制性的,但在更新配置文件时不是强制性的(例如: - 出生日期),因为我们认为没有人想改变他们的出生日期:)

因此,当现有用户试图更新他们的个人资料时,出生日期字段由于我们应用的验证而在后端失败。

通过检查控制台来找出它。

0

因此,用户无法更新他们的任何信息?或者这些字段没有显示出来?

如果字段没有显示出来,请访问:

app/views/users/edit.html.erb 

并期待在那里的形式是从哪里来的,你很可能需要添加领域有或

app/views/users/_form.html.erb 

现在,如果用户无法编辑这些信息,您需要创建机制(用户#编辑和用户#更新)或自行更新迁移中的记录。如果你不能做任何一件事情,这是一个设计缺陷:)

+0

我可以看到新添加的字段。如果我创建了新用户,我也可以更新配置文件信息,但是对于现有用户(即添加新字段之前注册的用户),我无法更新其配置文件中的任何信息。它实际上表明信息已更新,但当我返回到配置文件页面时,我发现没有任何更新。 –

+0

updat方法是什么样的? – andrewpthorp

+0

实际上我刚才发现了这个问题,这是因为我已经添加了在注册时需要的验证字段,但未将其包含在配置文件设置中,因此虽然它显示您的配置文件已成功更新,但它并不是将信息存储在后端,验证失败 –