선택 상자를 값 대신 키로 저장

3632 단어 Ruby
선택 상자에 데이터를 저장할 때 값이 아닌 키로 저장하는 방법을 소개합니다.

키로 저장하는 장점


• 선택 상자의 표시를 변경하려면 데이터베이스에 등록된 레코드의 값을 변경할 필요가 없습니다.
・ 일본어 데이터를 저장할 때 키는 일본어가 될 필요가 없습니다(코드의 외관 문제)

방법

invert 사용법.산열의 keyvalue 반전.
selectbox.rb
<%= form_with url: users_path do |f| %>
  <%= f.select :fruit, { a: "りんご", b: "みかん" }.invert %>
  <%= f.submit "保存" %>
<% end %>
invert 상기 코드를 사용한 경우
브라우저에 "사과""귤"
・ 저장된 것은 "a""b"입니다.
선택 상자의 표시를 바꾸고 싶다면
selectbox.rb
<%= form_with url: users_path do |f| %>
  <%= f.select :fruit, { a: "ぶどう", b: "もも" }.invert %>
  <%= f.submit "保存" %>
<% end %>
위에서 말한 대로 하면 된다.
기존 레코드의 값을 변경하지 않고도 간편하게 관리할 수 있음
여기서 마치겠습니다.

문장 배경


일본어로 키(key)라고 쓰는데, 엔지니어 중에는 어울리지 않는 사람도 있다고 한다.
따라서 다음 코드를 제어하는 것이 가장 좋다.
selectbox.rb
<%= form_with url: users_path do |f| %>
  <%= f.select :fruit, { りんご: "りんご", みかん: "みかん" } %>
  <%= f.submit "保存" %>
<% end %>
물론 이렇게 해도 정상적으로 작동할 수 있다
하지만 이렇게 되면 선택 상자의 표시가 영어로 바뀌겠죠.
selectbox.rb
<%= form_with url: users_path do |f| %>
  <%= f.select :fruit, { a: "りんご", b: "みかん" } %>
  <%= f.submit "保存" %>
<% end %>
이렇게 하면 귀찮아서 invert 방법을 썼어요.

개발 환경


Ruby: 2.7.1
Rails: 6.0.0.3

좋은 웹페이지 즐겨찾기