基本的铁路api问题

时间:2015-06-25 01:47:44

标签: ruby-on-rails ruby rails-api

我刚刚开始学习在rails中构建api并有一个问题开始。我只是想练习创建路线和控制器,但不能让它工作

配置/ routes.rb中

  namespace :api, :path => "", :defaults => {:format => :json}, :constraints => {:subdomain => "api"} do    
    get '/prac' => 'sessions#prac'
  end

控制器/ API / sessions_controller.rb

def prac
  "hello world"
end

当我到达api.localhost:3000 / prac时,我得到(没有路由匹配[GET]" / prac")。我只想让你好的世界出现,以便我知道我在正确的道路上。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

它是subdomain部分。

subdomain(tld_length = @@tld_length)
  

以字符串形式返回所有子域名,因此将为“dev.www.rubyonrails.org”返回"dev.www"。您可以在“www.rubyonrails.co.uk”中指定其他tld_length,例如2来捕捉"www"而不是"www.rubyonrails"

在您的情况下,由于api.localhost的子域名为'',因此应该通过

namespace :api, :path => "", :defaults => {:format => :json}, :constraints => {:subdomain => ""} do    
  get '/prac' => 'sessions#prac'
end

或者,您可以使用普通的本地主机,例如api.local.com来进行subdomain检查。