ruby-on-rails - 从我的 Controller 更新数据库字段时出现问题

标签 ruby-on-rails model-view-controller

我的用户 Controller 中有一个更新方法,我从 Flex 4 中的 HTTPService 调用该方法。更新方法如下:

  def updateName
    @user = User.find_by_email(params[:email])
    @user.name = params[:nameNew]
    render :nothing => true
  end

这是控制台输出:

Processing UsersController#updateName (for 127.0.0.1 at 2010-05-24 14:12:49) [POST]

Parameters: {"action"=>"updateName", "nameNew"=>"ben", "controller"=>"users", "email"=>"[email protected]"}

User Load (0.6ms) SELECT * FROM "users" WHERE ("users"."email" = '[email protected]') LIMIT 1 Completed in 20ms (View: 1, DB: 1) | 200 OK [http://localhost/users/updateName]

但是当我检查数据库时,名称字段从未更新。我究竟做错了什么?感谢您的阅读。

最佳答案

您仅修改了内存中的用户对象,即您没有将更改保存到数据库。你想要这样的东西:

def updateName
  @user = User.find_by_email(params[:email])
  @user.name = params[:nameNew]
  @user.save
  render :nothing => true
end

此外,您可能希望将 @user.save 放入 if 条件中以检查模型是否已正确保存。

关于ruby-on-rails - 从我的 Controller 更新数据库字段时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2894707/

相关文章:

ruby-on-rails - rspec email_spec 和 jobs.. 它是如何工作的?我想检查这封信是否已发送..可能还有电子邮件正文

ruby-on-rails - 如何将自定义 RESTful 路由添加到 Rails 应用程序?

ruby-on-rails - 无法在 Rails 4 中批量分配 protected 属性

ruby-on-rails - Rails 部分集合为空?

java - spring框架在mvc中的作用

java - Java 中逻辑与设计的分离

php - 关于在何处放置全局辅助函数的 OOP/MVC 建议

ruby-on-rails - 来自模型的 expire_action

model-view-controller - 添加方法在所有 View 中可用

PHP/MYSQL/MVC如何获取当前登录用户名