Rails 4中的意外参数控制器动作

时间:2013-06-05 23:32:17

标签: ruby ruby-on-rails-4

所以我在一个新的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

0 个答案:

没有答案