Рельсы, уничтожь если пусто - PullRequest
2 голосов
/ 03 июня 2010

Это может показаться странным, но есть ли способ Rails уничтожить модель, если определенный атрибут пуст? Скажем, у меня есть модель типа tags с только атрибутом имени или чем-то еще, если пользователь редактирует тег и удаляет весь текст из поля имени в форме, которую я хотел бы, чтобы модель была просто удалена.

Мне известен метод reject_if, но, похоже, он не работает.

1 Ответ

7 голосов
/ 03 июня 2010

В обратном вызове after_save просто проверьте атрибут и уничтожьте модель, если она пустая. Что-то вроде:

class Tag < ActiveRecord::Base
  after_save { |tag| tag.destroy if tag.name.blank? }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...