Trying to implement web service in rails through API sub-domain called 
"api".
In my hosts file i added line: 127.0.0.1 api.localhost

In my routes.rb i set sub-domain, where i only need index action and few 
manually added restful routes, through following:

namespace :api, path: '', :constraints => {:subdomain => "api"} do
  resources :posts, only: :index do
    collection do
      get 'popular_by_day'
      get 'popular_by_week'
    end
  endend

Also generated coresponding controller with: rails g controller api/posts

*Test example:*

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
  endend

After rake routes i have 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"}

Far as i know, link to http://api.localhost:3000/posts should work but i get 
routing error: 
*No route matches [GET] "/posts"* (Same with /posts.json)

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/f6ef7dce-2263-44c3-b7f7-cdadc2787d0b%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to