Объект JSON теряет свое значение в контроллере

#ruby-on-rails #forms #validation #error-handling

#ruby-on-rails #формы #проверка #обработка ошибок

Вопрос:

Эта ошибка возникает только в том случае, если я проваливаю проверку с первого раза.

Если все проверяется с первого раза, ошибки нет.

Когда форма проходит, контроллер выполняет это :

   respond_to do |wants|
    wants.json { render :json => { :html => (render_to_string :partial => 'disclaimer') } } 
  end
  

На данный момент мой params[:order_of_importance] == 123 . Что правильно.

Но как только он попадает в начало следующего действия..

мой params[:order_of_importance] = HQ Number . Где HQ Number находится :value текстовое поле в моей форме.

Почему это происходит? Что я могу сделать, чтобы убедиться, что форма содержит новую информацию после сбоя проверки?

Ответ №1:

Если вы вызовете params.freeze , вы сможете увидеть, где происходит изменение, поскольку это вызовет исключение.

Комментарии:

1. Вау, интересно. Где / как бы я это точно назвал?

2. Это предотвратит модификацию этого объекта, поэтому вызовите его непосредственно перед тем, как вы подумаете, что происходит модификация.