保存时如何将model属性设置为其他属性的值--Rails

Dar*_*bar 1 activerecord ruby-on-rails

创建用户时,包括'screen_name'属性,我想将名为'username'的用户属性的值设置为screen_name的值,但默认情况下为downcase.

我正在使用活动记录和rails,这对此最好的解决方案是什么?

谢谢

Dyl*_*kow 5

您可以before_createapp/models/user.rb文件中添加过滤器:

before_create :set_username

def set_username
  self.username = screen_name.downcase
end
Run Code Online (Sandbox Code Playgroud)