Правильно ли я понимаю, что как-то не установлена переменная @archived_new_status
? Хотя код, который вы показываете, всегда устанавливает его на true
или false
.
Я бы переписал так:
@archived_new_status = if params[:archive] == 'true'
true
else
false
end
То же, что и код выше, только несколько проще (и, возможно, понятнее). Тогда вы могли бы написать это еще короче:
@archived_new_status = params[:archive] == 'true' ? true : false
(на самом деле это полностью идентично тому, что вы показали нам).
По вашему мнению, вы можете быть уверены, что @archived_new_status
всегда установлен! Из кода, который вы нам показали, другого пути нет. Это либо true
, либо false
. Таким образом, ваше мнение становится:
xxx.myfuncthatNeedsTrueOrFalse(<%= @archived_new_status.to_s %>);
(я предполагаю, что вы вызываете какую-то функцию javascript здесь, с требуемым параметром либо true, либо false. Вы уверены, что значение правильно преобразовано в строку? -> я добавил .to_s
для ясности)
Из того, что вы нам показываете, ничего страшного не может быть, так что подытожим:
- можете ли вы убедиться, что
@archived_new_status
установлен правильно, если нет, показать полный пример кода
- в представлении, которое вы отображаете, вы правильно преобразовываете значение в строку? Можете ли вы объяснить, что вы пытаетесь сделать?