Rails 5 Parameters и to_h - PullRequest
       15

Rails 5 Parameters и to_h

0 голосов
/ 19 октября 2018

Мы находимся в процессе обновления до Rails 5.1.0 с Rails 4.2.2, и мы заметили, что .except!() больше не является методом для параметров.Существует .except() без взрыва, но это не работает во всех наших случаях.В приведенных ниже примерах survey_params имеет тип Parameter.

@survey.update(survey_params.except!(:user_roles)) # Rails 4.2.2

Два решения, с которыми я пришел:

  1. Создайте одноразовую переменную для принятиярезультаты un-banged .except(), как это:

    clean_params = survey_params.except(:user_roles)

А затем использовать его в обновлении так:

@survey.update(clean_params)

Используйте .to_h, чтобы преобразовать его в хеш, который, кажется, все еще имеет .except!

@survey.update(survey_params.to_h.except!(:user_roles))

Оба работают, но я 'Мне интересно, если один лучше, чем другой, или есть лучший способ, чем любое из этих решений?Потому что оба чувствуют себя как исправленные ошибки.

...