Я пытаюсь сделать значение по умолчанию для входа
работы хорошо:
<%= f.input_field :quantity, default: '1' %>
но мне нужен f.input не f.input_field
<%= f.input :quantity %>
Я пробую его стандартным значением HTML - но после того, как unsucessfull количество проверки будет переопределен 1 - нежелательный
<%= f.input :quantity, input_html: {value: '1'} %>
то, когда я удаляю значение, и проверка является unsucessfull количеством, заполняется - все в порядке
<%= f.input :quantity %>
как решить это? есть ли любая альтернатива как в f.input_field-: значение по умолчанию? или существует какое-либо другое решение со значением?
Это - старый вопрос..., но, ни один из предоставленных ответов не кажется приемлемым для меня. Лучший способ сделать это должно установить значение в контроллерах новое действие.
def new
WizBang.new(quantity: 1)
Это присвоит ключ количества объектов для оценки 1 в новом действии. Действие редактирования должно полагаться на сохраненное значение объекта или значение параметрических усилителей, если бы проверка перестала работать и перезагруженная форма. Другие ответы вызовут количество к 1 на редактировании, даже если пользователь первоначально сохранил ноль (если Вы позволяете ноль). Не хорошо. Я не позволил бы ноль, но буду включать 0 опций в поле количества.
f.input :quantity, collection (0..100)
намного более чистый.
Можно сделать
<%= f.input :quantity, value: f.object.quantity || '1' %>
В наше время, кончив input_html
ключ.