我在rails 4应用程序中使用设计。
我想要做的是,在创建帐户后,为帐户分配一个随机的6位数帐号(在:number
列中)。
我不想完成覆盖注册控制器的过程,而只想添加以下形式的方法(在模型中.rb)
after_create :set_number
def set_number
self.number = GET_RANDOM_NUMBER
self.save
end
这是不好的做法吗?我应该覆盖控制器并在create方法中执行此操作吗?
答案 0 :(得分:2)
不,这不是不好的做法。
你也可以这样做
after_initialize :set_number, :if => :new_record?
def set_number
self.number = GET_RANDOM_NUMBER
self.save
end