使用Orchestrate.io和基本的Rails应用程序

时间:2014-10-26 20:23:35

标签: ruby-on-rails ruby

我有一个在rails上运行ruby的基本应用程序。我使用sqlite3进行开发,使用postgres进行生产。我最近访问了Orchestrate.io和他们的学生等级。

我想知道如何在我的应用程序中使用它。我甚至不确定这是可能的。我的应用程序非常简单(add-edit-delete)。但是,使用这些工具会很有趣。

主要是因为我找不到高效且免费的rails db文本搜索。

1 个答案:

答案 0 :(得分:3)

您绝对可以使用Orchestrate作为Rails应用程序的后端。

一些不同的选择:

  • Orchestrate-Ruby client同时拥有方法客户端&对象客户端。尽管对象客户端仍被视为正在进行中,但方法客户端提供了一个可靠的接口,用于连接Orchestrate API。
  • 使用http库(例如 rest-client 法拉第)来调用Orchestrate API。
  • 还有Orchestrate-Rails gem。您的里程可能会有所不同(最后一次更新于四月)。

要使用Orchestrate作为唯一的后端(没有postgres / mysql),我发现最好的方法是禁用ActiveRecord:

创建新应用程序时,您可以使用-O跳过ActiveRecord:

rails new my_app -O

对于现有应用程序:

<强> 1。从您的Gemfile(pg,mysql2,sqlite3等)中删除数据库适配器gems

<强> 2。更改您的config/application.rb

删除require 'rails/all行并要求使用您想要使用的框架,例如:

require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"

第3。删除您的database.yml文件,db/schema.rb和迁移(如果有)

<强> 4。在test/test_helper.rb

中删除迁移检查

<强> 5。从config/environments文件中删除任何ActiveRecord配置(这是导致错误的原因)

如果您遇到问题/错误,堆栈跟踪应该为您提供有关您需要更改的内容的充分信息。例如,您可以在初始化程序中使用一些ActiveRecord配置。


使用Orchestrate-Ruby客户端,您可以定义如下模型:

class Foo < Orchestrate::Collection
  ...
end

我还没有确定定义Application对象的最佳方法是什么,但我做过的一种方法是使用初始化器创建一个全局对象:

# /config/initializers/orchestrate.rb

$App = Orchestrate::Application.new(ENV['ORCHESTRATE_KEY']) # using dotenv gem
$App = Orchestrate::Application.new('your_key_here') # without dotenv

从这里,您可以访问控制器中的$ App对象(初始化集合对象):

class FoosController < ApplicationController
  def index
    @foos = Foo.new($App, "foos").each
  end
end

利用模型关注点可能是在模型之间共享Application对象/ API密钥的更好方法。或者您可以在方法客户端上滚动自己的类。

希望这有帮助!

我将在更多&#39; Railsy&#39;中研究如何实现这一目标。方式。

编辑:另外,textacular是一个红宝石宝石,为postgres提供全文搜索和索引