я создаю простой json API в направляющих 3.1. Я создал контроллер, который имеет две функции:
class Api::DogsController < ActionController::Base
respond_to :json, :xml
def index
respond_with({:msg => "success"})
end
def create
respond_with({:msg => "success"})
end
end
В routes.rb я имею
namespace :api do
resources :dogs
end
, Когда я выполняю получить запрос к http://localhost:3000/api/dogs , я получаю корректный json сверху. Когда я делаю сообщение к тому же URL, я получаю исключение направляющих:
ArgumentError in Api::DogsController#create
Nil location provided. Can't build URI.
actionpack (3.1.0) lib/action_dispatch/routing/polymorphic_routes.rb:183:in `build_named_route_call`
actionpack (3.1.0) lib/action_dispatch/routing/polymorphic_routes.rb:120:in `polymorphic_url'
actionpack (3.1.0) lib/action_dispatch/routing/url_for.rb:145:in `url_for'
, Но если я изменяю создать код на
def create
respond_with do |format|
format.json { render :json => {:msg => "success"}}
end
end
, он возвращает json очень хорошо.
кто-то может объяснить, что продолжается здесь?