development

simple_form을 사용한 입력 기본값

big-blog 2020. 12. 28. 22:26
반응형

simple_form을 사용한 입력 기본값


입력에 대한 기본값을 시도하는 메신저

잘 작동합니다.

<%= f.input_field :quantity, default: '1' %> 

하지만 f.input이 필요하지 않습니다 .f.input_field

<%= f.input :quantity %> 


  • 표준 html 값으로 시도했지만 실패한 유효성 검사 수량이 1로 무시 된 후-바람직하지 않습니다.

    <%= f.input :quantity, input_html: {value: '1'} %>
    
  • 값을 제거하고 유효성 검사가 실패하면 전체 수량이 채워집니다. 모든 것이 정상입니다.

    <%= f.input :quantity %>
    

이것을 해결하는 방법? f.input_field-: default와 같은 대안이 있습니까? 또는 가치있는 다른 해결책이 있습니까?


다음과 같이 시도해 볼 수 있습니다.

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

selectedsimple_form 옵션을 사용할 수 있습니다 . <%= f.input :quantity, selected: f.object.quantity || '1' %>


이 시도:

= f.input : quantity, input_html: { value: (f.object.quantity.present?) ? f.object.quantity : '1' }

넌 할 수있어

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

요즘에는 input_html열쇠 를 빼고 .


이것은 오래된 질문입니다 ...하지만 제공된 답변 중 어느 것도 나에게 받아 들여지지 않는 것 같습니다. 이를 수행하는 가장 좋은 방법은 컨트롤러의 새 작업에 값을 설정하는 것입니다.

 def new
   WizBang.new(quantity: 1)

이렇게하면 새 작업에서 개체 수량 키가 값 1에 할당됩니다. 편집 작업은 객체의 지속 된 값 또는 유효성 검사가 실패하고 양식이 다시로드 된 경우 params 값에 의존해야합니다. 다른 답변은 사용자가 처음에 nil을 저장 했더라도 (nil을 허용하는 경우) 편집시 수량을 1로 강제합니다. 괜찮지 않습니다. nil은 허용하지 않지만 수량 필드에 0 옵션을 포함합니다.

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

훨씬 깨끗합니다.

참조 URL : https://stackoverflow.com/questions/19029129/default-value-for-input-with-simple-form

반응형