Rails: нужна помощь с вложенной формой, отклоняющей вложенный объект, но все еще создающей основной объект - PullRequest
0 голосов
/ 06 июля 2011

У меня в модели пользователя есть следующее

class User < ActiveRecord::Base
  has_many :gym_users

  attr_accessible :gym_users_attributes, :gym_users
  accepts_nested_attributes_for :gym_users, :reject_if => lambda { |a| a[:role_id].blank? }

end

Это правильно отклоняет модель gym_user, если role_id отсутствует, проблема в том, что он все еще создает пользователя и просто не ' создать gym_user. Есть ли способ заставить его не создавать или удалять пользователя при отклонении gym_user?

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Вы можете добавить

validates_associated :gym_users

к вашей User модели и переместите проверку с reject_if на GymUsers модель

validates_presence_of :role_id
0 голосов
/ 06 июля 2011

Добавьте validates :gym_users, :presence => true к вашей модели пользователя

...