0

我有用户模型(has_one:profile)和配置文件模型(belongs_to:user)。

我想将默认值更改profile.deliver_project_news:twice_a_weekfrom :none if user.user_type != "customer"

我可以通过迁移处理这个问题吗?如果可以,那我该怎么做?

4

1 回答 1

0

在我看来,您不应该将该逻辑放入您的数据库中。我认为它应该进入你的模型层

class Profile < ActiveRecord::Base

    before_validate: set_defaults

    def set_defaults
        if user.user_type != "customer"
            deliver_project_news ||= "twice_a_week"
        else
            deliver_project_news ||= "none"
        end
    end
end
于 2013-02-14T09:59:43.850 回答