An attempt to implement a web service in rails through an API subdomain called "api".
In my file, hostsI added the line:127.0.0.1 api.localhost
In my routes.rbI installed a subdomain in which I only need an action with an index and several manually added recreation routes using the following:
namespace :api, path: '', :constraints => {:subdomain => "api"} do
resources :posts, only: :index do
collection do
get 'popular_by_day'
get 'popular_by_week'
end
end
end
Also generated a base controller with: rails g controller api/posts
Test case:
class Api::PostsController < ApplicationController
def index
@posts = 1
respond_to do |format|
format.json { render :json => @posts }
end
end
def popular_by_day
end
def popular_by_week
end
end
After rake routesI have the following:
popular_by_day_api_posts GET /posts/popular_by_day(.:format) api/posts#popular_by_day {:subdomain=>"api"}
popular_by_week_api_posts GET /posts/popular_by_week(.:format) api/posts#popular_by_week {:subdomain=>"api"}
api_posts GET /posts(.:format) api/posts#index {:subdomain=>"api"}
As far as I know, the link to http: //api.localhost: 3000 / posts should work, but I get a routing error:
There are no matches with the [GET] "/ posts" route (Same with /posts.json)