2012-10-21 2 views
0

RoR을 처음 사용합니다. 내가 직면하고있는 문제는 내가 몇 가지 확인란을 가지고 있으며, 처음에는 내가 처음으로 내 앱을 실행할 때마다 다음 번에 선택할 마지막 체크 된 상자를 갖기를 원한다. 내 모델컨트롤러와보기 사이의 확인란 상자 태그 연결

class Movie < ActiveRecord::Base 
    def self.all_ratings 
    @all_rating = ['G', 'PG', 'PG-13', 'R'] 
    end 
end 

같은 것을보고 양식이 내가 뭘하려고 오전 이제이

Include: 
    - @all_ratings.each do |rating| 
    = rating 
    = check_box_tag "ratings[#{rating}]", 1, [email protected]_ratings.each{|s_rating|} 
    = submit_tag 'Refresh', :id => "ratings_submit" 

과 같이 보이는 동안이 작업을 수행하려면 내 컨트롤러에서 나는

@all_ratings = Movie.all_ratings 
@selected_ratings = [] 
if !params[:ratings].nil? 
    params[:ratings].each_key do |key| 
    @selected_ratings << key 
    end 
elsif 
    @selected_ratings = @all_ratings 
end 

이 컨트롤러에서 내가 param이 비어 있는지 확인하고 싶다면 인스턴스 변수 @selected_ratinngs를 만들고 모든 값을 전달하기 위해 모든 값을 확인하고 싶습니다. 확인란에서 선택된 값이 있으면 selected_ratings에 해당 값을 저장합니다.

보기에서 나는 selected_rating을 사용할 계획이며 check_box_tag에서 selected_rating과 rating을 비교하여 이미 존재하는지 확인한 다음 그렇지 않으면 checked 매개 변수는 true입니다.

이러한 긴 설명을 한 후에는 계획된 아이디어로 작동하지 않는다고 덧붙이고 싶습니다.

답변

0

? 대신 나를 위해 일했다

= check_box_tag "ratings[#{rating}]", 1, (@selected_ratings.include? rating)