2015-10-03 2 views
0

Я изучаю рельсы API, и под мои рельсы маршруты файлКак запустить сервер рельсы с рельсами апи

Rails.application.routes.draw do 

    namespace :api, defaults: { format: :json }, path: '/', constraints: { subdomain: 'api' } do 
    resources :posts, only: [:index, :show] 
    end 

end 

, когда я попытался запустить сервер с

http://localhost:3000/posts/1 

это дает мне ошибка no routes matches, но он работает с ниже

http://api.lvh.me:3000/posts/1 

чем разница между двумя и как делает это ж orks.It способ запустить сервер с локальным хостом по умолчанию: 3000 при использовании API-интерфейсу

рек маршрутов

 Prefix Verb URI Pattern    Controller#Action 

api_posts GET /posts(.:format)  api/posts#index {:format=>:json, :subdomain=>"api"} 
api_post GET /posts/:id(.:format)  api/posts#show {:format=>:json, :subdomain=>"api"} 
+0

Show 'rake routes' – Arsen

ответ

1

ограничения: {субдомно: 'апи'}

Это заявляет, что этот маршрут присутствует только для запросов, которые происходят из указанного субдомена.

http://guides.rubyonrails.org/routing.html#request-based-constraints

Чтобы расширить мой ответ, я прошу вас, если API является составной частью более крупного приложения Rails? Если нет, ограничение не требуется, поскольку вы можете использовать это через настройки DNS через службу хостинга домена.

+0

@tagCliny thanks Это сработало. Я просто изучаю rails api, поэтому для меня это не большая проблема. –

Смежные вопросы