1

所以我在一个新的 rails 4 应用程序中有一个控制器,它接收来自另一个应用程序的 JSON POST 调用,该应用程序通过 RestClient 发送最少的参数:

{
 value: 2
 user_email: "person1@example.com"
}

但是,我在 rails 4 应用程序中获得的参数让我感到困惑

{"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
4

0 回答 0