pca*_*asa 4 ruby ruby-on-rails
我的项目的最后一部分,希望.
需要检查user.email属性是否更改.如果是,那么需要告诉mailchimp更改或添加电子邮件.
看起来Dirty会这样做,但以前从未使用过它.如何捕获块中的更改,或将其传递给块,然后更新属性?
使用ActiveRecord :: Dirty模块非常简单:
bob = User.find_by_email('bob@example.org')
bob.changed? # => false
bob.email = 'robert@example.org')
bob.changed? # => true
bob.email_changed? # => true
bob.email_was # => 'bob@example.org'
bob.email_change # => ['bob@example.org', 'robert@example.org']
bob.changed # => ['email']
bob.changes # => { 'email' => ['bob@example.org', 'robert@example.org'] }
Run Code Online (Sandbox Code Playgroud)
我建议使用 Rails Dirty 方法:
if @user.email.changed?
# ...
end
Run Code Online (Sandbox Code Playgroud)
但你也可以这样做:
if @user.email != params[:user][:email]
# ...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1708 次 |
| 最近记录: |