我有一个名为POST方法加入应该做到以下几点: 1)创建一个新的对象 2)用JSON对象respond_with在红宝石轨道上不工作。为什么?
这里回应是我的代码:
class GameController < ApplicationController
respond_to :json
def join
@p = Player.new(:name => params[:name])
@p.save!
respond_with({:uuid => @p.uuid})
end
end
出于某种原因,在respond_with调用始终失败,此错误:
undefined method `model_name' for NilClass:Class
如果我改变respond_with调用更简单的东西我仍然得到错误,如:
respond_with "hello"
产生这样的错误:
undefined method `hello_url' for #<GameController:0x1035a6730>
我在做什么错?我只想给他们发回一个JSON对象!
PS,我的路由文件看起来像这样:
match 'join' => 'game#join', :via => :post
你最好开沟'respond_with',只是使用普通的旧'format.json {render:json}'等等,如果你想脱离标准的控制器动作。 – zetetic 2010-12-16 06:21:40
这正是我最终做的:-) – 2010-12-16 16:35:02