HTTP POST rails 3 - json - 406& 500错误

时间:2011-08-19 15:06:58

标签: ruby-on-rails-3 json http rest devise

我无法通过HTTP REST发送数据。当我尝试通过chrome扩展“Simple REST Client”发布json数据时,我收到500内部服务器错误,指出“文档没有有效的根目录”。当我卷曲时,我得到406错误。但是当我在客户端和卷曲中将数据字段留空时,会创建一个空白文档!我已经将json文本更改为每个可能的有效组合,并将数据放回到GET生成但没有运气的情况下!

我的控制器代码是:

def create
@verify = Verify.new(params[:verify])

respond_to do |format|
  if @verify.save
    format.html { redirect_to( :back, :notice => 'Verified') }
    format.json { render :json => @verify, :status => :created, :location => @verify }
  else
    format.html { render :action => "new" }
    format.xml  { render :xml => @verify.errors, :status => :unprocessable_entity }
    format.json  { render :json => @verify.errors, :status => :unprocessable_entity }
  end
end

示例json

{"www" : "wwww"}

我正在使用Mongoid和Devise宝石(尝试从控制器中删除before_filter但没有区别)。

1 个答案:

答案 0 :(得分:0)

Rails 3默认在activerecord中为json添加了一个根元素,因为你正在使用mongoid,试着将它添加到你的mongoid.yml

include_root_in_json: true