【问题标题】:rackup grape with environment葡萄与环境
【发布时间】:2015-02-23 11:50:24
【问题描述】:

我有一个葡萄 api,我使用 rackup 直接挂载,我想在生产或开发中部署我的 api 时使用环境选项来指定不同的 url

我的 config.ru

#\-p 4000 -s puma
require 'grape'

#require all module
modules = Dir.glob('**/api/*/*/module/*.rb')
modules.each do |m|
  require './'+m
end
#require all table
bases = Dir.glob('**/api/*/*/*.rb')
bases.each do |b|
  require './'+b
end
#require all api versions
apis = Dir.glob('**/api/*.rb')
apis.each do |a|
  require './'+a
end

run DataRetriever::API

【问题讨论】:

    标签: rack grape-api


    【解决方案1】:

    我从 Rails 的结构中汲取灵感,并使用 SettingsLogic 来管理环境设置。 在你的 rackup 文件的开头添加:

    ENV['RACK_ENV'] ||= 'development'
    

    如果您只想在某些环境中执行某些代码

    require_relative "config/environments/#{ENV['RACK_ENV']}"
    

    如果您想为每个环境使用不同的设置

    require 'settingslogic'
    class Settings < Settingslogic
      source File.join(File.dirname(__FILE__), 'config', 'settings.yml')
      namespace ENV['RACK_ENV']
    end
    

    您可以观看我的入门应用 https://github.com/scauglog/grape_starter_api

    【讨论】:

      猜你喜欢
      • 2014-12-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多