Ruby on rails 3 无法在rails 3.2中正确获取参数

Ruby on rails 3 无法在rails 3.2中正确获取参数,ruby-on-rails-3,parameters,controller,fixnum,Ruby On Rails 3,Parameters,Controller,Fixnum,我有以下控制器代码: @question_group = QuestionGroup.find(params[:id]) @old_order = @question_group.ordering @new_order = params[:ordering].to_i if @old_order < @new_order 问题是,最初params[:ordering]不是Fixnum。这就是为什么我加入了_I。现在它是一个Fixnum,但它总是0。我不明白它为什么不起作用。如果par

我有以下控制器代码:

@question_group = QuestionGroup.find(params[:id])
@old_order = @question_group.ordering
@new_order = params[:ordering].to_i
  if @old_order < @new_order

问题是,最初params[:ordering]不是Fixnum。这就是为什么我加入了_I。现在它是一个Fixnum,但它总是0。我不明白它为什么不起作用。

如果
params[:ordering]
实际上是字符串
“16”
,那么
params[:ordering]。我应该返回Fixnum
16


我将添加调试信息,并确保检查
params[:ordering]
的值。很可能是
nil
。如果为nil,则
params[:ordering].to\u i
将返回0。

问题是我正在使用表单,它正在html中创建
name=model[:ordering]
。尽管它在日志中显示为
ordering=>“3”
,但为了访问控制器中的参数,我需要
params[:model][:ordering]

是的,它是零,但我不知道为什么。发送的参数正确;我可以从日志中看到。但当我尝试使用params[:ordering]访问它时,我似乎得到了零。
Parameters: { "ordering"=>"16", "course_id"=>"8"}