所以我在一个新的rails 4应用程序中有一个控制器,它接收来自另一个应用程序的JSON POST调用,它通过RestClient发送最小的参数:
{
value: 2
user_email: "person1@example.com"
}
然而,我在rails 4 app中的params让我感到困惑
{"value" => "2", "user_email" => "person1@example.com", "point" =>
{ "value" => "2", "user_email" } }
为什么会这样?
有问题的控制器(puts params
生成上面的哈希值)
class PointsController < ApplicationController
# Security, other omitted for brevity
def create_or_update
puts params
@point = Point.where(user_email: params['user_email']).first_or_initialize
if @point.update_attributes(point_params)
render json: @point
else
render json: @point.errors.messages, status: 422
end
end
private
def point_params
params.require(:point).permit(:user_email, :value)
end
end