1

これは、昨年何度も議論されてきたSaaS( "Rotten Potatoes")トレーニングの質問ですが、答えが見つからないようです。

評価という名前のハッシュを生成する評価のチェックボックスを備えたフォームがあります。次に、params [:ratings]を使用して、最新のチェックボックスの選択を別のページに渡します。ユーザーがフォームを送信すると、私のコードは正しく機能します。ただし、送信ボタンをクリックせずに移動すると、最新の値が失われます。

ユーザーがチェックボックスをオン/オフするたびに最新の値を保存する必要があると思いますが、方法がわかりません。

私はこれをhamlとrubyを使用して行う必要があり、javascriptなどは使用しません。

4

2 に答える 2

1

あなたが映画のコントローラーである場合、現在のすべての評価を保存するインスタンス変数@selected_ratingsがあります。

if params[:ratings] != session[:ratings] and @selected_ratings != {}
  session[:ratings] = @selected_ratings
  redirect_to :sort => sort, :ratings => @selected_ratings and return
end
@movies = Movie.find_all_by_rating(@selected_ratings.keys, ordering)

そして、映画のインデックスでは、form_tagにあなたが持っています

= check_box_tag "ratings[#{rating}]", 1, @selected_ratings.include?(rating)
于 2013-02-01T07:34:12.343 に答える
1

完全を期すために。

要件は、ユーザーが Web ページを閉じて後で戻ってきた場合に、以前の選択内容を利用できるようにすることでした。だから私はクッキーでそれを行い、テストケースに合格しました。

于 2013-02-05T07:02:31.040 に答える