1

好的,我希望标题具有足够的描述性,但这是我的问题。(我是 Rails 新手,所以如果我还需要更多信息,请告诉我)

我有一个表单来编辑用户,edit.html.erb 这获取了一个@user传递给它的对象。我的控制器上得到这个的代码是:

def edit
    @user = User.find(params[:id])
end

我正在使用该对象来预填充edit.html.erb页面上的字段。以下是我的数据库中用于用户的列:

id
username
name
email
admin
active
created_at
updated_at

我的问题是,由于某种原因,email对象的值被遗漏了,因此这些值都被左移了。例如,通过<%= @user.inspect %>edit.html.erb页面上使用这是我得到的:

<User id: 2, username: "exampleuser1", name: "Kaylee Kuhic", nickname: "exampleuser1", email: "Default", selected_color_scheme: "0", is_admin: true, active: nil, date_last_logged_in: "2012-08-30 19:28:31", created_at: "2012-08-30 19:28:31", updated_at: nil>

这只是我正在修改的一个测试应用程序,所以我可能已经移动了一列。那会影响它吗? 控制器和可能影响对象的视图之间发生了什么?

此外,当我User.find(params[:id])在 rails 控制台中运行时,我会正确返回所有数据:

<User id: 2, username: "exampleuser1", name: "Kaylee Kuhic", nickname: "exampleuser1", email: "exampleuser1@example.com", selected_color_scheme: "Default", is_admin: true, active: true, date_last_logged_in: nil, created_at: "2012-08-30 19:28:31", updated_at: "2012-08-30 19:28:31">

有什么想法吗?再次,对不起,如果我遗漏了任何重要信息。

4

1 回答 1

0

听起来您需要使用 rake db:drop db:create db:migrate 重建数据库

这将删除数据库中的所有数据,但由于这是一个测试应用程序,我认为没关系。

于 2012-08-30T21:05:51.413 回答