在我的Rails 4应用程序中,我有一个称为"游戏"的对象(该对象占据了玩家在三个周期曲棍球游戏中获得的点),其中三个参数为"sige_1_goals"," ofend_2_goals"one_answers" ofend_3_goals"。
因此,当我将它们声明为游戏控制器文件中的强参数时,我得到了:
def game_params
params.require(:game).permit(:player_id, :period_1_goals, period_2_goals, period_3_goals)
end
是否有一种更快的方法来定义1到3的" sege_x_goals",而不是单独列出每个参数?您知道,使用与此相同原理(不起作用)的东西:
def game_params
params.require(:game).permit(:player_id)
(1..3).each do |x|
params.require(:game).permit(:period_#{x}_goals)
end
end
这应该有效:
def game_params
params.require(:game).permit(:player_id, *((0..3).map { |x| "period_#{x}_goals".to_sym }))
end