在保存之前选择ruby中的用户名

Jam*_*mes 4 ruby ruby-on-rails

是否有一种简单的方法可以确保用户名是在ruby中保存之前的标题...我正在考虑一种模型方法但不是100%肯定

因此,如果用户输入,apple那么我希望它存储在数据库中Apple

Dan*_*tra 6

是的,我认为before_save是一个很好的选择.我不知道你是否有第一个/最后一个和中间名的分隔字段,因为中间名不应该大写,因此会更容易.

这是一个简单的实现:

before_save :capitalize_names

protected
  def capitalize_names
    ['first_name', 'last_name', 'middle_name'].each do |name|
      self.attributes[name] = self.attributes[name].capitalize
    end
  end
Run Code Online (Sandbox Code Playgroud)