1
저는 레일스에서 새로 도입되었으며, 체크 박스 값을 얻는 데 문제가 있습니다. 나는 스레드와 API 문서를 살펴 보는 데 꽤 많은 시간을 보냈지 만 여전히 아무 것도 쓸 수없는 것 같지 않습니다.레일즈 체크 박스 값은 항상 nil입니다.
체크 박스는 어떤 모델의 속성에 바인딩되지 않지만, 여기에
확인란 선언의 무시 요소에/걸러 부울 될 것입니다 :<%= form_tag model_path, :method => 'get', :id => "data_search" do %>
<%= hidden_field_tag :direction, params[:direction] %>
<%= hidden_field_tag :sort, params[:sort] %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
<%= hidden_field_tag "include_ignored", 0 %> //tried the hidden field trick also, to
//no avail
<%= check_box_tag "include_ignored", 0 %>
Include ignored items
</p>
<% end %>
주
Model.where(:is_ignored => params[:include_ignored])
: 나는
나중에 내가 모델 검색이 사용하고 어떤 효과뿐만 아니라 form_for 외부 확인란 태그를 선언 시도한 것을
콘솔의 쿼리 출력은 디버거와 같은 이야기를합니다. params [: include_ignored]가 null입니다.
무엇이 누락 될 수 있습니까? 미리 감사드립니다.
그 일부이기는하지만 기본적으로 기본값이없는 것으로 보입니다. 페이지가 처음으로로드 될 때,이 체크 박스의 값은 false 여야하므로 표에 무시되지 않는 항목 만 표시되어야합니다. 컨트롤러에서이 사건을 쉽게 처리 할 수는 있지만 나중에 다시 덮어 쓸 새로운 값을 얻을 수 없다면 저에게 도움이되지 않을 것입니다 ... – BrMcMullin
음, 여기서 이해하지 못합니다. 예, check_box_tag는 페이지가 렌더링 될 때 html이 보여주는 것과 같이 기본적으로 선택 취소됩니다. 나중에 호출 할 때 체크 박스를 클릭했는지 여부를 컨트롤러에서 제어하고 싶습니까? – huntsfromshadow
나는 체크 박스의 값을 부울 값으로 사용하고 컨트롤러가 레코드를 수집하여 렌더링 할 때 "무시 된"레코드를 표시할지 여부를 결정하는 데 사용하려고합니다. 선택을 취소하면 "무시 된"레코드가 보이지 않게 필터링됩니다. 선택하면 "무시 된"레코드가 뷰에 포함됩니다. – BrMcMullin