0

ユーザーモデル(has_one:profile)とプロファイルモデル(belongs_to:user)があります。

profile.deliver_project_newsのデフォルト値を:twice_a_weekからに変更したい: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 に答える