在创建之前将名称大写。设计

时间:2014-02-17 17:23:03

标签: ruby-on-rails ruby ruby-on-rails-4

我正在尝试让用户模型在用户注册时将所有名称大写。然而,它似乎不起作用。我正在使用设计。

数据库中有一个名称字段。

用户模型:

before_create :capitalize_name    

def capitalize_name
  name_array = name.split(" ")
  name_array.each { |name| name.capitalize! }
  name = name_array.join(" ")
end

2 个答案:

答案 0 :(得分:3)

问题是您将结果分配给局部变量name。使用self.name

self.name = name.split.map(&:capitalize).join(' ')

答案 1 :(得分:2)

尝试

self.name = name_array.join(" ")