User と Role の 2 つのモデルがあります。
ロールモデル:
has_and_belongs_to_many :users
ユーザーモデルでは、
has_and_belongs_to_many :roles
validates_presence_of :name, :if => "roles.map(&:name).include?(\"manager\")"
私の問題は、ユーザーの役割に「マネージャー」の役割を追加できることです。私が呼び出すときのコンソールで
sampleUser.roles << managerRole
それは徹底的に進み、データベースに保存します。私が電話するとき
sampleUser.valid?
私は嘘をつきます、
私の理解では、roles_users は別のテーブルであるため、ユーザーの何も更新されないため、ユーザーの検証は使用されません。この問題を回避し、ユーザーがデータベースに行くものを有効にする方法はありますか?