我创建了一个rails项目,其中包含一些我想作为API执行的代码。我正在使用rails-api gem。
该文件位于app / controllers / api / stats.rb中。
我希望能够通过访问此类链接 - http://sampleapi.com/stats/?location=USA?state=Florida来执行该脚本并返回json输出。
我应该如何配置项目,以便在访问该链接时运行我的代码?
答案 0 :(得分:1)
应该调用该文件stats_controller.rb
app/controllers/api/stats_controller.rb
您可以创建一个index
方法,您可以在其中添加代码
class API::StatsController < ApplicationController
def index
#your code here
render json: your_result
end
end
文件config/routes.rb
中的您应该添加
get 'stats' => 'api/stats#index', as: 'stats'
要访问网址中的参数,您可以使用params[:location]
,params[:state]
答案 1 :(得分:0)
以下是我对此的看法:
app / controllers / api / stats_controller.rb 中的
module Api
class StatsController
def index
# your code implementation
# you can also fetch/filter your query strings here params[:location] or params[:state]
render json: result # dependent on if you have a view
end
end
end
在config / routes.rb
中# the path option changes the path from `/api` to `/` so in this case instead of /api/stats you get /stats
namespace :api, path: '/', defaults: { format: :json } do
resources :stats, only: [:index] # or other actions that should be allowed here
end
让我知道这是否有效