2016-10-20 3 views
1

내 ERB의 경우 동일한 값이지만 다른 양식의 확인란이있는 경우 오류가 발생하여 새 렌더 후에 동일한 값을 가진 다른 양식의 확인란이 선택됩니다. 다른 ID는 중요하지 않습니다.다른 ID이지만 이상하게 작동하는 동일한 값을 가진 ERB 체크 박스

두 개의 열 (size 및 : color)이있는 model Option에 대한 여러 확인란이 있습니다. 현재 Option 모델의 accept_nested_attributes에 더 큰 모델을 사용하고 있습니다. 내 양식에

각 옵션에 대해, 나는 크기 색상과 체크 박스 숨겨진 값으로 체크 박스를 가져온 거에요하도록 :

<%= form_for @big do |big| %> 

    <%= f.fields_for :options do |option| %> 
     <%= f.hidden_field :color, value: "Red" %> 
     <%= f.check_box :size, {}, "Small", nil %> 
    <% end %> 

    <%= f.fields_for :options do |option| %> 
     <%= f.hidden_field :color, value: "Blue" %> 
     <%= f.check_box :size, {}, "Small", nil %> 
    <% end %> 

    ..... 

<% end %> 

옵션은 위의 HTML과 모든하지만에 따라 각각의 고유 한 ID를 가지고 그냥 같은 가치로 인해 의심되는 똑같이 체크됩니다.

이 동작을 방지하는 방법이 있습니까?

답변

0

나는이 문제를 해결했다. ERB fields_for을 과도하게 사용하는 초라한 컨트롤러 연습에 더 깊이 뿌리를두고 있습니다.

내 컨트롤러에는 @ bigmodel.options.build 만 있고 컨트롤러에는 4 개의 f.fields_for 옵션이 있습니다. 문제는 큰 모델이 옵션에 하나의 연관성을 가지고 있었기 때문에 모든 옵션이 html 출력에 관계없이 똑같이 취급되고 있다는 것이 었습니다.

html 출력이 고유했기 때문에 제출은 괜찮 았지만 버그가 없었습니다.하지만 서버 측에서 문제가 발생하면 html로 나올 문제가 무수히있었습니다.

관련 문제