사용자가 생일을 추가 할 수있는 양식이 있습니다. 현재 현재, 누군가가이 양식을 제출할 때마다, 날짜 입력은 항상 값을 가지므로 생일을 추가 할 것입니다.레일 : 양식에 지정된 경우 업데이트 속성 만
확인란을 추가 할 수있는 방법이 있습니까? 선택되어있는 경우에만 생일을 레코드에 저장해야합니까? 확인란을 선택하지 않은 경우 birthday
의 현재 값을 제거해야합니다. 컨트롤러에서
= simple_form_for resource, as: resource_name, url: registration_url(resource_name) do |f|
= f.input :another_field
= f.input :birthday_set?, as: :boolean # or something else?
= f.input :birthday
= f.input :submit
가장 간단한 방법은 before_save 콜백을 사용하여 birthday_set 매개 변수를 추적하고, false 인 경우 생일을 null로 설정하는 것입니다. http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html – atomAltera
@atomAltera는 아닙니다. 더 쉬운 방법은'attr_accessor'도 필요하기 때문입니다. – jonhue
그러면 컨트롤러 수준에서 해결해야합니다. 모델 생성에 필요한 모든 필드를 반환하는 create_params 헬퍼가 있다고 가정 해보십시오. 이 도우미 안에서이 검사를 할 수 있습니다. – atomAltera