Rails - 更改备用新数据列的默认值

时间:2018-02-19 16:26:22

标签: mysql ruby-on-rails database

这是一个Rails 4 + MySQL,但也许是一个普遍的逻辑问题。我甚至没有找到相关的主题(只有Frontend A / B测试),所以如果有某种相关的问题,请道歉。

我想用持久数据进行A / B测试

考虑新的用户注册,其中表中的一列(我们称之为test)是布尔值,每个新注册保存一个不同的布尔状态到每个新用户注册的用户表上的新数据库行。

用户1注册 - > User1行中的test值为false

用户2注册 - > User2行中的test值为true

用户3注册 - > User3行中的test值为false

用户4注册 - > User4行中的test值为true

等等......

有没有办法在Rails中实现这一目标?或者这是DB / MySQL问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我可以看到两个选项:使用Rails'回调before_create(或before_validation)或在trigger之前使用MySQL INSERT

Rails回调:

before_create do
  self.test = !User.order(:id).last&.test.present?
end