我正在尝试让用户模型在用户注册时将所有名称大写。然而,它似乎不起作用。我正在使用设计。
数据库中有一个名称字段。
用户模型:
before_create :capitalize_name
def capitalize_name
name_array = name.split(" ")
name_array.each { |name| name.capitalize! }
name = name_array.join(" ")
end
答案 0 :(得分:3)
问题是您将结果分配给局部变量name
。使用self.name
。
self.name = name.split.map(&:capitalize).join(' ')
答案 1 :(得分:2)
尝试
self.name = name_array.join(" ")