ruby-on-rails - 为什么 Rails 增量方法不保存更改?

标签 ruby-on-rails ruby ruby-on-rails-3 updown

我有这段代码可以在我的 Rails 应用程序中实现拇指 up/down 功能

if params[:vote][:type] == "up"
    answer = Answer.find_by_id(params[:vote][:id])
    answer.increment(:ups)
    render text: answer.ups
end
if params[:vote][:type] == "down"
    answer = Answer.find_by_id(params[:vote][:id])
    answer.increment(:downs)
    render text: answer.downs
end


它不会给出任何错误,但增量值不会在数据库中更新。

此代码在 Rails 控制台中正常运行。

请帮忙,

提前致谢

最佳答案

这是 by design .该方法递增属性但不保存。如果您还想保存,请使用 increment! ( bang version)。

关于ruby-on-rails - 为什么 Rails 增量方法不保存更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16937377/

相关文章:

ruby-on-rails - 在rails控制台中删除带有nil id的记录heroku ruby​​ postgres

ruby-on-rails - 每当 gem 崩溃时 Rails 控制台方法自动完成

ruby-on-rails - "Anonymous modules have no name to be referenced by"到底是什么意思?

ruby - JRuby 与 Heroku 上的 Sinatra

ruby-on-rails - 如何在单独的script.rb 中使用Rails 的Active Record?

ruby-on-rails - 从 Gem 获取 Ruby 项目根路径

ruby - 如何在 Ruby 中使子进程超时

ruby - 没有路由匹配 "/ciudades"

ruby - 为什么 Ruby String.hash 跨机器不一致?

ruby-on-rails - Rails 中至少有 2 个 DateTime?