我有一個名爲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