0

在我的 .erb 文件中,我有以下 jQuery 调用:

$.get(url, { point: pointValue, chore: investigate });

point和都是chore整数。

在我的 .rb 文件中,我有以下语句:

get '/estimate/:id' do

  print params[:chore]  # for debugging

  if params[:chore] == 1
    print "true!"
  end

end

当我 printparams[:chore]时,正确的值会在我的控制台中打印出来,0 或 1。

但是,即使是1,该if块也不会执行,即"true!"不会打印到控制台。

我完全被难住和困惑!有任何想法吗?

4

2 回答 2

2

Parameters from a request always come back as type String. You need to convert that to an integer (via String#to_i) in order for your comparison to work (or, compare with "1" instead).

于 2012-07-26T22:31:13.617 回答
2

该号码1属于Fixnum该类。你的chore价值可能没有。if params[:chore].to_i == 1在比较 ( ) 或检查chore参数键 ( )之前将其转换为整数puts params[:chore].class

于 2012-07-26T22:06:08.043 回答