Как остановить создание записи с помощью метода ActiveRecord before_create - PullRequest
0 голосов
/ 08 декабря 2011

Как я могу заставить ActiveRecord принять все строки ниже.Пользователь1 сохраняет как: имя, так и: занятие в БД.Пользователю 2 не требуется, чтобы «12» хранилось в БД, но его необходимо оценить на основе параметра, а затем сохранить в БД с некоторыми значениями по умолчанию.User3 - это комбинация обоих.

user1 = User.new(:name => "David", :occupation => "Artist")
user2 = User.new(12)
user3 = User.new(15, :name => "Mike", :occupation => "Programmer")

1 Ответ

1 голос
/ 08 декабря 2011

Ваш вопрос не очень понятен, но я отвечу исходя из моего понимания ...

Что-то подобное должно работать в вашей User модели:

before_create :set_defaults

def set_defaults
  return true unless default_case
  case default_case
    when 12
      self.name = 'John'
      self.occupation = 'Magician'
    when 15
      self.size = 'L'
    end
end

Затем при создании новой модели:

User.new(:default_case => 15, :name => "Mike", :occupation => "Programmer")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...