Значение по умолчанию для входа с simple_form

Я пытаюсь сделать значение по умолчанию для входа

работы хорошо:

<%= 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-: значение по умолчанию? или существует какое-либо другое решение со значением?

57
задан 26 September 2013 в 17:04

2 ответа

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

 def new
   WizBang.new(quantity: 1)

Это присвоит ключ количества объектов для оценки 1 в новом действии. Действие редактирования должно полагаться на сохраненное значение объекта или значение параметрических усилителей, если бы проверка перестала работать и перезагруженная форма. Другие ответы вызовут количество к 1 на редактировании, даже если пользователь первоначально сохранил ноль (если Вы позволяете ноль). Не хорошо. Я не позволил бы ноль, но буду включать 0 опций в поле количества.

f.input :quantity, collection (0..100)

намного более чистый.

1
ответ дан 1 November 2019 в 15:51

Можно сделать

<%= f.input :quantity, value: f.object.quantity || '1' %>

В наше время, кончив input_html ключ.

1
ответ дан 1 November 2019 в 15:51

Другие вопросы по тегам:

Похожие вопросы: