0
我是RoR的新手。我面臨的問題是,我有幾個複選框,最初當我第一次運行我的應用程序時,我希望它們全部被選中,而下一次我希望它有最後一個選中的複選框被選中。要做到這一點,在我的控制,我有控制器和視圖之間的複選框標籤綁定
@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
雖然我的模型看起來像
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"
現在我所試圖做的在控制器是,我想看看如果參數是空的,如果它是然後我想檢查所有的值,所以我創建一個實例變量@selected_ratinngs並通過評級的所有值。如果我從複選框中選擇了一些值,那麼我將這些值保存在selected_ratings中。
在我計劃使用selected_rating的視圖和check_box_tag想比較評級selected_rating,看看它已經存在,則檢查參數爲true,否則。
這樣的lenghty描述之後,我想補充一點,作爲計劃的任何想法,這並不工作。