[Rails] 조수 체크.box를 통해 여러 선택 등록
genre(유형)를 Book 모델로 사용
↓ 이렇게 복선상자에서 여러 개를 선택하여 등록할 수 있기를 바랍니다.
↑
왜냐하면 SF랑 드라마가 다 체크를 하고 있거든요.
유형은
SF & ドラマ
이다.view
가설 유형의 목록은 배열 방식으로
@list_genre
에 저장된다.new/edit.html.erb
<%= form_for(@book, class: 'form-horizontal', role: 'form') do |f| %>
・・・ 〜略〜
<% @list_genre.each do |genre| %>
<div>
<%= f.check_box :genre,
{ multiple: true,
checked: @book.genre.present? ? @book.genre.split(",").include?(genre) : false }, #・・・①
genre, nil %>
<span><%= genre %></span>
</div>
<% end %>
・・・ 〜略〜
<% end %>
controller
books_controller.rb
def new
@book = Book.new
@list_genre = LIST_GENRE
end
def create
@book = Book.new(book_params)
params[:book][:genre] ? @book.genre = params[:book][:genre].join(",") : false #・・・②
if @book.save
redirect_to book_path(@book.id)
else
@list_genre = LIST_GENRE
render :new
end
end
edit, 업데이트도 비슷한 느낌보태다
①:
checked:
에 따라edit를 선택할 때 일치하면 선택할 수 있습니다.sting의include?중간 부분이 일치하므로 split(",)으로 Aray를 만듭니다.
②:genre의 데이터 형식은string이기 때문에join(",
"SF, ドラマ"
의 형식으로 저장해야 한다.소상
String save를 만들거나 split(",)로 Arry를 되돌려 놓으면 딱딱하고 보기 싫다.
더 좋은 방법 없을까요?
↑
결론:이걸로 하면 될지도 몰라https://qiita.com/RaimuEr/items/58971510735c6b906c50
참조: https://qiita.com/tomoima525/items/22c215db90cc9a9b09cc
Reference
이 문제에 관하여([Rails] 조수 체크.box를 통해 여러 선택 등록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/xusaku_/items/570b0be745901d2e9a63텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)