在将字段保存到数据库之前,我try 将字段从表单更改为小写.这是我的代码,但是数据库的输出仍然是大写的,为什么代码不工作呢?

class Transaction < ActiveRecord::Base
   validates :name, presence: true
   validates :amount, presence: true, numericality: true
   before_save :downcase_fields

   def downcase_fields
      self.name.downcase
   end
end

推荐答案

downcase返回字符串的副本,不修改字符串本身.请改用downcase!:

def downcase_fields
  self.name.downcase!
end

有关更多详细信息,请参见documentation.

Database相关问答推荐

TYPO3 OOPS,出现错误!编码:202402180809040864ba5c

如何正确创建mongo模型和客户端?

使用 Npgsql 执行年龄查询并在 .NET 应用程序中返回结果?

这到底是做什么的 Class.forName("com.mysql.jdbc.Driver").newInstance();

在sql server中拆分字符串

关闭连接会自动关闭语句和结果集吗?

有没有办法为 2 个具有不同包名称的应用程序提供 1 个 Firebase 数据库?

Java 数据库连接池(BoneCP vs DBPool vs c3p0)

如何在 Play 2.0 中 for each 环境设置不同的数据库?

Spring 的 JdbcTemplate 是否在查询超时后关闭连接?

matlab 数据文件到 pandas DataFrame

在数据库中存储枚举值的最佳方式 - String 或 Int

Oracle在哪些情况下会自动创建索引?

获取数据库路径

如何删除除了postgres中的少数数据库之外的所有数据库

数据库 EAV 优点/缺点和替代方案

数据库 - (行或记录、列或字段)?

有任何使用协议缓冲区的经验吗?

Cassandra - 事务支持

Chrome 将其 SQLite 数据库保存到哪里?