Rail enum으로 2택의 데이터를 저장하는 방법(integer형)

 개요



안녕하세요.
개인 어플의 작성 과정에서 라디오 버튼으로 2택의 데이터를 보존하는 기능을 구현했으므로, 남겨 둡니다.
이번에는 Materialize를 사용하고 있습니다.

이런 느낌입니다.

절차 integer 형식으로 열 만들기 모델에 enum 작성 view측에 기술 integer 형식으로 열 만들기 포트폴리오에서 카페를 게시하는 앱을 만들었으므로 이번에는 wifi 열을 integer 형식으로 만듭니다. add_columnn.rb def change add_column :shops, :wifi, :integer 끝 모델에 enum 작성 shop.rb enum wifi: { yes: 1, no: 2 } 콘솔에서 pry(main)> @shop.wifi = 1 =>1 pry(main)> @shop.wifi => "yes" 이와 같이 enum으로 설정한 value가 출력됩니다. view에 설명 form_for로 라디오 버튼에서 데이터를 보냅니다. <%= form_for(@shop) do |f| %> <%= f.radio_button :wifi, :yes %> # 체크하면 1이 들어간다 <%= f.radio_button :wifi, :no %> # 체크하면 2가 들어간다 <%end%> 나는 materialize로 구현했기 때문에 이런 느낌이 들었습니다. 예 <%= form_for(@shop) do |f| %> <div class="col s12 radio_col"> <label> <span class="list">Wifi</span> <i class="material-icons small">wifi</i> <%= f.radio_button :wifi, :yes, class: "with-gap"%> <span>예</span> </label> <label> <%= f.radio_button :wifi, :no, class: "with-gap"%> <span>없음</span> </label> </div> <%end%> 표시는 <%@shop.wifi%> value가 1이면 "예" value가 2이면 "아니오" 표시됨 if 문에서 <% if shop.wifi == "yes" %> 라고 쓰다 == 1에서는 false가 되어 버렸습니다. 또한 enum 시점에서 문자열로 설정할 수있는 것 같습니다! 다음에 Jquery에서 선택 해제하는 방법을 주고 싶습니다!

좋은 웹페이지 즐겨찾기