Ruby on Rails에서 모델 기반 양식에 대한 동적 선택 태그 생성

2728 단어 rails
포스트 모델이 있는 앱을 작성하고 있었습니다. 게시물 모델은 "유형"에 속합니다. 내 게시물 모델에 대한 내 양식을 만들려면 내 유형 모델에서 오는 내 옵션으로 동적 선택 필드를 만들어야 했습니다.

내가 한 방법은 다음과 같습니다.

먼저 내 컨트롤러에서 내 유형을 가져와 내 보기에 노출하기 위해 인스턴스 변수에 넣었습니다.

def new
   @post = Post.new
   @types = Type.all 
end


그런 다음 내 견해로는 다음과 같은 형식을 가졌습니다.

<%= form_with(model: @post, local: true) do |f| %>

  <div class="form-group">
    <%= f.label :title %><br/>
    <%= f.text_field :title, class: "form-control" %>
  </div>

  <div class="form-group">
    <%= f.select :type_id, @types.map { |t| [t.name, t.slug]}, {}, class: "form-control" %>
  </div>

  <div class="form-group">
    <%= f.submit class: "btn btn-primary" %>
  </div>

<% end %>


여기 내 양식에는 제목도 포함되어 있습니다. 또한 양식에 Bootstrap을 사용하고 있습니다.

중요한 부분(이 게시물에서 초점을 맞춘 부분)은 바로 여기에 있습니다.

<%= f.select :type_id, @types.map { |t| [t.name, t.slug]}, {}, class: "form-control" %>


여기서는 선택 태그를 설정하고 :type_id 매개변수에 매핑하도록 지시합니다. 그런 다음 옵션의 이름과 옵션 값을 포함하는 배열의 배열을 전달합니다.

이는 다음과 유사한 코드를 생성합니다.

<option value="the-slug">the name </option>


이것이 바로 Ruby on Rails에서 모델 기반 양식에 대한 동적 선택 태그를 생성하는 방법입니다.

더 많은 Ruby on Rails 및 웹 개발 팁을 보려면 .

좋은 웹페이지 즐겨찾기