Rails 개발 중 의문의 버그
환경
- Ruby 2.3.4
- Rails 5.0.4
증상
<div class="modal fade">
...
<%= form_tag "/videos", method: 'get' do %>
<%= select_tag(:environment_id, options_for_select(['dev','prod']), class: "form-control", include_blank: true, onchange: "this.form.submit();") %>
<% end %>
...
</div>
이런 형태의 erb
를 만들어서 view 안에서 render
로 view 를 부분적으로 생성했습니다.
그런데!
<form method=“get” accept-charset="UTF-8"></form>
<select ...
이런 식으로 form tag 가 지맘대로 닫히고 그 아래에 select 태그가 생겼습니다.
이것 때문에 onchange
의 스크립트에서 문제가 생겼습니다.
해결
구글링을 하던 중..
루비 포럼
에서 Form tag self closing 이라는 글을 발견했습니다.
참고: form tag is self-closing before input fields (HAML generator used)
문제는 이것
That's not legal markup. Either wrap the form around the entire table or put it completely inside a cell.
<td>
태그안으로 modal view
를 넣어서 해결했습니다.