以下は私のコントローラーコードです
class ProductComparisonController < ApplicationController
def product_vote
if !session[:category_tracker]
@categories = Category.where(:page_id => params[:page_id]).select(:id)
session[:category_tracker]=@categories
session[:step]=0
session[:number_of_categories]=@categories.count
end
chosen_products = session[:category_tracker][session[:step]].chosen_product_ids
@products = Product.where(:id => chosen_products).all
session[:step] = session[:step] + 1
end
終わり
これを実行すると、カテゴリの最初のインスタンスに対して完全に実行されます。ただし、ステップ値が更新され、セッション変数から2番目の値をフェッチする必要がある場合は、エラーが発生します。
エラーは次のとおりです:(行11)
:@new_record:Symbolの未定義のメソッド `chosen_product_ids'