我的問題模型爲學生可以回答的問題提供提示和答案選項。它包括名爲:choice_0,:choice_1,:choice_2,:choice_3,:choice_4和:choice_5的列。動態獲取參數值
在我的控制器的一個部分,我用下面的代碼:
correct_array.push(these_params[:choice_0]) if !these_params[:choice_0].blank?
correct_array.push(these_params[:choice_1]) if !these_params[:choice_1].blank?
correct_array.push(these_params[:choice_2]) if !these_params[:choice_2].blank?
correct_array.push(these_params[:choice_3]) if !these_params[:choice_3].blank?
correct_array.push(these_params[:choice_4]) if !these_params[:choice_4].blank?
correct_array.push(these_params[:choice_5]) if !these_params[:choice_5].blank?
在我的應用程序的其他領域,我已經使用了#{}語法,例如:
params[:choice_#{n}]
但是,由於某種原因,這在params散列內不起作用。我相信有一種更乾燥的方式來完成這五條線。
非常感謝您的任何見解。
您可以使用'params [「choice _#{n}」。to_sym]' – fangxing
Aha!它需要被轉換爲符號! –
或者你可以將它創建爲符號:'params [:「choice _#{n}」]' –