Ruby on rails Rails使用引擎模拟RESTAPI后端服务

Ruby on rails Rails使用引擎模拟RESTAPI后端服务,ruby-on-rails,ruby-on-rails-4,rails-engines,Ruby On Rails,Ruby On Rails 4,Rails Engines,因此,我尝试在rails中使用engine来模拟RESTAPI后端,以便进行开发和测试,这样我就不必依赖RESTAPI了。当我遇到这个问题时,我有两个问题,我正试图理解 我猜是这样的。首先,让我的引擎和我的rails应用程序当前运行con,并在我的引擎中运行con,当我的rails应用程序调用url rest调用时,它将呈现我在引擎中的json对象(模拟数据) 引擎和rails应用程序是否必须与unicorn gem同时运行?或者如果引擎可以在rails应用程序中运行 如何从rails应用程序重

因此,我尝试在rails中使用engine来模拟RESTAPI后端,以便进行开发和测试,这样我就不必依赖RESTAPI了。当我遇到这个问题时,我有两个问题,我正试图理解

我猜是这样的。首先,让我的引擎和我的rails应用程序当前运行con,并在我的引擎中运行con,当我的rails应用程序调用url rest调用时,它将呈现我在引擎中的json对象(模拟数据)

  • 引擎和rails应用程序是否必须与unicorn gem同时运行?或者如果引擎可以在rails应用程序中运行

  • 如何从rails应用程序重定向url rest调用,使其进入模拟引擎?我猜这和可寻址或路由有关

  • 我已经按照[2]创建了一个可安装的引擎,我希望我能在这个主题上找到一些方向,以及所有内容的发展方向

    [1]

    [2]

    在我的引擎里

    |controller 
    |-data
    |--apple.json     
    |-fruits_client
    |--apple_controller.rb
    |lib
    |-fruist_client
    |--apple.rb
    |--engine.rb
    

    你应该装上你的引擎

    在主应用程序的路由中添加以下内容:

    mount MyEngine::Engine, :as => 'my_engine'
    
    然后您可以使用:
    my\u engine.something\u url

    您可以在任何位置设置安装点。如果要使用与主应用程序相同的根,可以使用:

    mount MyEngine::Engine, :at => '/', :as => 'my_engine'
    
    如果要使用名称空间(例如“水果”)调用引擎:

    要使用您的引擎,您应该在您的文件中有它的路径。它应该看起来像

    gem 'my_engine', :path => '/path/to/my_engine'
    

    你应该装上你的引擎

    在主应用程序的路由中添加以下内容:

    mount MyEngine::Engine, :as => 'my_engine'
    
    然后您可以使用:
    my\u engine.something\u url

    您可以在任何位置设置安装点。如果要使用与主应用程序相同的根,可以使用:

    mount MyEngine::Engine, :at => '/', :as => 'my_engine'
    
    如果要使用名称空间(例如“水果”)调用引擎:

    要使用您的引擎,您应该在您的文件中有它的路径。它应该看起来像

    gem 'my_engine', :path => '/path/to/my_engine'
    

    是否在路由文件中装入引擎?是否在路由文件中装入引擎?例如。如果我有这个rest调用get()。理想情况下,在我安装发动机之后。我是否只是将我的引擎设置为基本URL()并调用and而不是。我能打电话给/fruits/apple把数据拿回来吗?所以我不需要在剩下的问题上做任何改变,这是另一个问题。我应该把我的引擎放在我的rails应用程序的什么地方?你可以使用mount MyEngine::engine,:at=>'/',:as=>'my_engine',我会把引擎放在我的机器中任何我知道的路径的地方。之后,我会将路径添加到我的文件中。类似gem'my_engine',:path=>'/luis/my_engine'的东西非常感谢。我会尝试一下,并给你一些更新。例如。如果我有这个rest调用get()。理想情况下,在我安装发动机之后。我是否只是将我的引擎设置为基本URL()并调用and而不是。我能打电话给/fruits/apple把数据拿回来吗?所以我不需要在剩下的问题上做任何改变,这是另一个问题。我应该把我的引擎放在我的rails应用程序的什么地方?你可以使用mount MyEngine::engine,:at=>'/',:as=>'my_engine',我会把引擎放在我的机器中任何我知道的路径的地方。之后,我会将路径添加到我的文件中。类似gem'my_engine',:path=>'/luis/my_engine'的东西非常感谢。我会尝试一下,并给你一些更新。