나는 흔적을 나열하고 텍스트 기반 검색을 제공하는 페이지가 있습니다. 현재 버전은 여기 http://www.trailsee.com/trails입니다. 예를 들어 검색 결과를 필터링하는 양식을 추가하고 있습니다. 어려움, 활동, 길이, 개 등을 허용합니다. 필터가 작동하지만 사용자가 여러 항목을 선택할 수있는 확인란 필드에서 이전에 사용한 매개 변수를로드하지 않습니다. 자전거 타기, 수색 후 등산 가능. 현재는 매개 변수를로드하는 중입니다. 예 : 내가 params 어려움이 있다면 = 0 & 어려움 = 1 & 어려움 2 그것은 어려움 2가 선택된 페이지 만 적재 할 것입니다.매개 변수에서 확인란 채우기
특히 : travel_type (라디오), : difficult (체크 박스), : dogs (체크 박스) 및 : action_types (체크 박스)에 문제가 있습니다. 여기
는 다시로드 travel_type 2에 http://localhost:3000/trails?utf8=%E2%9C%93&travel_type=on&max_time=168&max_distance=35&difficulty=0&difficulty=1&difficulty=2&dogs=1&dogs=2&action_types=1&action_types=2&action_types=3&commit=Filter내보기 코드로 작성 여기
을 선택한 개 (2)를 선택한 난이도 2 ACTION_TYPES 3을 선택한 선택한 PARAMS와 샘플 URL입니다 날씬한.page
section.search
.row
form.form-inputs.columns.large-6.large-offset-1#search-form action=trails_path method='get'
input type='search' placeholder='Search' name='query_string'
button.button-search
i.sprite-icon-search
section.filter
.row
= form_tag nil, method: :get, class: 'form-inputs columns large-11 large-offset-1', id: 'trail-filter-form' do
.estimate_time
strong Estimate time using
ul
li
= radio_button_tag :travel_type, params[:travel_type], 0
= label_tag 'Hiking'
li
= radio_button_tag :travel_type, params[:travel_type], 1
= label_tag 'Running'
li
= radio_button_tag :travel_type, params[:travel_type], 2
= label_tag 'Biking'
div.max_time
strong Max Time
div.time
p
= '30m'
= range_field_tag :max_time, params[:max_time], in: 30..240
= '4+ hours'
p
strong Max Distance
div.distance
p
= '1mi '
= range_field_tag :max_distance, params[:max_distance], in: 1..50
= '50+ mi'
div.difficulty
strong Difficulty
div
p
= check_box_tag :difficulty, 0, params[:difficulty] == '0'
= label_tag
i class='sprite-icon-difficulty-0'
= check_box_tag :difficulty, 1, params[:difficulty] == '1'
= label_tag
i class='sprite-icon-difficulty-1'
= check_box_tag :difficulty, 2, params[:difficulty] == '2'
= label_tag
i class='sprite-icon-difficulty-2'
p
strong Dogs
div
= check_box_tag :dogs, 0, params[:dogs] == '0'
= label_tag 'Off Leash'
= check_box_tag :dogs, 1, params[:dogs] == '1'
= label_tag 'w/Leash'
= check_box_tag :dogs, 2, params[:dogs] == '2'
= label_tag 'Not Allowed'
div.views
strong Views
div
= check_box_tag :views, 1, params[:views] == '1'
= label_tag 'Has Views'
p
strong Activities Allowed
div
= check_box_tag :action_types, 0, params[:action_types] == '0'
= label_tag
i class='sprite-icon-horseback-med'
= check_box_tag :action_types, 1, params[:action_types] == '1'
= label_tag
i class='sprite-icon-ski-med'
= check_box_tag :action_types, 2, params[:action_types] == '2'
= label_tag
i class='sprite-icon-hiking-med'
= check_box_tag :action_types, 3, params[:action_types] == '3'
= label_tag
i class='sprite-icon-bike-med'
= submit_tag 'Submit', value: 'Filter', class: 'button small right trail-filter'
section.content#trails-find
.row.find-trails-map
.large-11.large-offset-1.columns
.map#find-map
= render 'trails/trail_list', locals: { decorated_trails: decorated_trails,
title: 'PUBLIC TRAILS' }
감사합니다. 위 코드를 사용하면로드 /로드시 선택되는 체크 박스의 기본값이됩니다. 내가 원하는 것은 기본값으로 체크하지 않는 것이지만, 필터에 대한 선택을 채울 때 선택으로 다시로드하고 싶습니다. 또한 업데이트 할 때 URL 매개 변수도 변경되지 않습니다. 여전히 어려움 = 0 & 어려움 = 1 & 어려움 = 2. 내가 그것을 어떻게 바꿀 것인가? – dsick
죄송합니다!, 위의 코드를 수정하여 URL을 올바르게 업데이트해야합니다. 자세한 정보는 http://apidock.com/rails/ActionView/Helpers/FormTagHelper/check_box_tag도 확인하십시오. – Dontreadonme