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

印刷params[:chore]すると、コンソールに0または1の正しい値が出力されます。

ただし、の場合でも1ifブロックは実行されません。つまり"true!"、コンソールに出力されません。

私は完全に困惑して混乱しています!何か案は?

4

2 に答える 2

2

番号はクラス1に属しています。Fixnumあなたのchore価値はおそらくそうではありません。比較する前に整数に変換するか( )、またはparamsキーif params[:chore].to_i == 1を調べます( )。choreputs params[:chore].class

于 2012-07-26T22:06:08.043 に答える
2

リクエストからのパラメータは常にString型として返されます。比較を機能させるには(または、代わりに「1」と比較するために)、それを整数に変換する必要があります(String#to_iを介して)。

于 2012-07-26T22:31:13.617 に答える