为什么我的json没出现在我的参数中?

时间:2015-07-27 13:00:15

标签: ruby-on-rails json api

在我的Rails应用程序中,我有:

routes.rb中:

  resources :tasks, :defaults => {:format => 'json'}, :except => [:index, :new, :create, :show, :edit, :update, :destroy] do
    member do
      get :to_chrome
      post :from_chrome
    end
  end

mime_types.rb:

Mime::Type.register "application/xls", :xls
Mime::Type.register "application/json", :json

tasks_controller.rb:

class TasksController < ApplicationController

  skip_before_action :verify_authenticity_token, if: :json_request?

  def to_chrome
    @survey = Survey.find(params["id"])
      @survey = Survey.last
      respond_to do |format|
        format.json {render_for_api :private, :json => @survey}
      end
    end
  end

  def from_chrome
    binding.pry_remote
    render :nothing => true
  end

  protected

  def json_request?
    request.format.json?
  end

end

to_chrome工作正常。

我正尝试使用以下设置从Postman触发from_chrome

网址 http://localhost:3000/tasks/2452456/from_chrome

动词:发布

身体:“John Rambo”,时间:“下午2点”

(还尝试用单引号包装整个字符串)

正文格式:原始JSON(application / json)

标题1:接受:application / json

标题2:内容类型:application / json

在邮差中,我收到了200回复​​。

但在Rails中,当我在params内检查from_chrome时,我只看到:

{"format"=>"json", "controller"=>"tasks", "action"=>"from_chrome", "id"=>"2452456"}

我的Json在哪儿?

谢谢,

史蒂芬。

1 个答案:

答案 0 :(得分:0)

没关系。我刚刚在request.body.read找到了json。