Rails4: переопределить/пропустить определенные проверки модели?

Был бы признателен, если бы кто-нибудь мог предложить лучший метод/самый чистый метод в этом случае:

У меня есть модель пользователя с парой проверок, когда кто-то создает учетную запись через мой сайт. Я хочу пропустить эти проверки, когда кто-то пытается создать новую запись пользователя через мой API.

Я читал о решениях, связанных с созданием подклассов модели и установкой флагов в частных методах для каждого класса, чтобы пропустить проверку, или с использованием методов доступа к атрибутам для установки флагов, не уверен, что было бы лучше или есть что-то лучше, что можно сделать.


person L457    schedule 09.03.2016    source источник
comment
Попробуйте это: stackoverflow.com/questions/8881712 /   -  person tpbowden    schedule 09.03.2016


Ответы (1)


Можешь попробовать:

attributes = {
      first_name: first_name,
      last_name: last_name,
      email: email,
      title: title,
      birthday: birthday,
      phone: phone,
      mobile: mobile,
    }
user.assign_attributes(attributes)
User.save!(validate: false)

Это пропустит проверку.

person Mohammad Shahadat Hossain    schedule 09.03.2016
comment
есть ли способ сделать это, не пропуская все проверки - person L457; 09.03.2016
comment
У вас есть разные обратные вызовы в ваших классах? У вас есть вложенные атрибуты в вашей модели? - person Mohammad Shahadat Hossain; 09.03.2016
comment
Есть понятие объекта формы. webuild.envato.com/blog/. вы можете взглянуть. - person Mohammad Shahadat Hossain; 09.03.2016