Rails 라디오 버튼의 여러 정보를 저장하는 방법

Rails 라디오 버튼의 여러 정보를 저장하는 방법



환경



Ruby:2.6.5
Rails : 6.0.3.

설명 이유



찾았지만 찾는 방법도 모르고 이틀간 방황했기 때문에, 망비록, 계명도 근거로 기술한다
기본적인 지식을 바탕으로, 향후의 이해에 맡는다.

이러한 쪽이 좋은 등의 지적이 있어, 가르쳐 좋다고 하는 드문 분이 있으면, 뭐라고 부탁합니다.

①HTML측 : 복수 체크 정보를 저장하여 송부하는 기술



index.html.erb
まず form_withの記述の方法

<%= form_with(model: @company_type,url: companies_types_path(@company_type),
 method: :post,local: true) do |f| %>
 
中略 繰り返し表示させるための記述の方法
 
 <div class="tab-pane fade show active" id="list-doboku" role="tabpanel"
 aria-labelledby="list-doboku-list">
   <% industry_type = ["足場工事","舗装工事","しゆんせつ工事","石工事","造園工事","土木工事"] %>
    <% industry_type.each do |q| %><br>
      <%= f.check_box :industry_type , {multiple: true},q,nil %>
      <%= f.label :industry_type, q %>
    <% end %>
 </div>

中略 form_withを送付するための方法

     <div class="text-center mb-5 col-6">
       <%= f.submit "記録する" ,class:"btn btn-block send-button tx-tfm" %>
     </div>
   <% end %> 

①-2:HTML측: 이렇게 표시할 수 있었습니다





②controller측:복수 체크의 정보를 받아 저장하는 기술



모델 s.controller.rb
def create
 @company_type = CompanyType.new(company_type_params)
   if @company_type.valid?
      @company_type.save
      redirect_to companies_types_path
   else
      render :index
   end
end

private

def company_type_params
  params.require(:company_type).permit(:industry_type =>[]).merge(company_detail_id: current_user.id)
end

②-2:DB측: 이렇게 저장할 수 있었습니다





반성



찾아내는 방법도 나빴다고 생각합니다만, 집착하는 사람이 적기 때문에 찾을 수 없었을지도 모릅니다.
Qiita 기사도 첫 투고, 아직 공부하는 것은 있다고 자신을 용기 짓고 다음의 에러에 걸립니다.
압도적 지식 부족에 의한 문제의 생각이 듭니다만, 써 보지 않는 것에는 모르기 때문에 투고했습니다.

좋은 웹페이지 즐겨찾기