我刚刚开始学习在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")。我只想让你好的世界出现,以便我知道我在正确的道路上。任何帮助,将不胜感激。
答案 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
检查。