Mam metody POST nazwie dołączyć które powinien wykonać następujące czynności: 1) utworzyć nowy obiekt 2) odpowiedzieć obiekt JSONreply_with nie działa w ruby na szynach. Czemu?
Oto mój kod:
class GameController < ApplicationController
respond_to :json
def join
@p = Player.new(:name => params[:name])
@p.save!
respond_with({:uuid => @p.uuid})
end
end
Z jakiegoś powodu, wywołanie respond_with zawsze kończy się niepowodzeniem z tego błędu:
undefined method `model_name' for NilClass:Class
Jeśli zmienię wywołanie respond_with do czegoś prostsze nadal pojawiają się błędy, na przykład:
respond_with "hello"
daje ten błąd:
undefined method `hello_url' for #<GameController:0x1035a6730>
Co robię źle ?? Chcę tylko wysłać im obiekt JSON!
PS, mój plik trasy wygląda następująco:
match 'join' => 'game#join', :via => :post
Lepiej wodowania 'respond_with' i tylko za pomocą zwykłego starych 'format.json {render: json}' itp. jeśli chcesz odejść od standardowych działań kontrolera. – zetetic
Dokładnie to zrobiłem :-) –