【发布时间】:2012-08-30 19:07:54
【问题描述】:
好的,我希望标题足够具有描述性,但这是我的问题。 (我是 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 的值被排除在对象之外,因此所有值都向左移动。例如,通过在edit.html.erb 页面上使用<%= @user.inspect %>,这就是我得到的:
<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>
这只是我正在修改的一个测试应用程序,所以我可能已经移动了一列。那会影响它吗? 控制器和视图之间发生了什么可能会影响对象?
另外,当我在 rails 控制台中运行 User.find(params[:id]) 时,我得到了正确返回的所有数据:
<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">
有什么想法吗?再次抱歉,如果我遗漏了任何重要信息。
【问题讨论】:
-
您是否在相同的环境中运行应用程序和 Rails 控制台?
-
为什么它们在
updated_at列中有所不同?看起来很腥 -
updated_at,created_at,active当然email字段都是不同的。所以看起来你实际上在使用两个不同的数据库。 -
我更新了两个结果,以便更准确地表示我遇到的问题
标签: mysql ruby-on-rails ruby-on-rails-3 object find