비슷한 질문이 하나 또는 두 개있을 수 있지만 그 중 누구도 내가 다음에 잘못된 부분을 이해하는 것을 도왔습니다.rails form_tag with checkboxes
= form_tag movies_path,:id=>"ratings_form", :method => :get do
Include:
- @all_ratings.each_with_index do |rating, index|
= rating
= check_box_tag "ratings[]", rating, @selected_ratings.include?(rating), id:"ratings_#{rating}"
내 컨트롤러 : 내보기에 다음 HAML 양식을
def index
sorting=params[:sorting_on_a_column]
if sorting=='1'
@sort='title'
@movies=Movie.order('title')
elsif sorting=='2'
@sort='date'
@movies=Movie.order('release_date')
else
@movies=Movie.all
end
@all_ratings=Movie.select(:rating).map(&:rating).uniq
@selected_ratings = (params["ratings"].present? ? params["ratings"] : @all_ratings)
@movies = @movies.where(":rating IN (?)", params["ratings"]) if params["ratings"].present? and params["ratings"].any?
end
위의 내 목표는 (은 않습니다) 제목이나 출시일에 의해 영화를 정렬하는 것입니다
선택된 체크 박스에 해당하는 영화 만 보여줍니다. Ruby와 Rails에 익숙하지 않아서 정말 감사드립니다. 미리 감사드립니다! 방법은 여러 가지 등급이있다 -
1
: 생각하는
우선, 시간을내어 주셔서 감사합니다. 내가 말한 것처럼 (나는 단지 확인란의 텍스트를 클릭하는 기능을 건너 뛰었습니다) 위의 내용을 편집했지만, 여전히 작동하지 않습니다. 이것은 정의되지 않은 방법 배열의 경우 – Controller
두 번째 줄부터 마지막 줄까지 :'@movies = Movie.where ('... –
) 나는 다른 방식으로 작동하도록 만들었지 만 도움을 청하기 위해 1 번 (15 번 D에 도달했을 때) – Controller