是否可以将Nesta CMS包含在Rails3应用程序中?

BBJ*_*BJ3 4 blogs rack sinatra content-management-system ruby-on-rails-3

我想将Nesta CMS应用程序“安装”到Rails3应用程序上。这可能是因为Nesta是Sinatra应用程序,应该是可在机架上安装的图层,但是……您将如何做呢?您将从哪里开始?有人对此主题有经验吗?建议的文档?

Gra*_*ton 5

嘿,卢卡。我一直想写一个或两个月的时间。您只需要使用Rails Metal将Nesta挂装为Rack应用即可。

请注意以下几点:

http://railscasts.com/episodes/222-rack-in-rails-3

您可以通过将其称为Nesta :: App来在路由中引用Nesta(我仅在一周左右的时间内就合并了允许您将此操作提交到主站点的提交,因此请确保您保持最新状态以及github上的最新代码)。为了使该工作有效,您需要做的就是要求Nesta的app.rb文件。

我尚未亲自在Rails 3上尝试此操作,但是在Rails 2上已经进行了一段时间,如果遇到任何问题,请在邮件列表(nesta@librelist.com)上ping我。

对于想知道如何使用Rails 2.3实现相同功能的人,我一直在使用如下代码(在lib / nesta_metal.rb中):

require File.join(File.dirname(__FILE__), *%w[.. vendor nesta app])

class NestaMetal
  def initialize(app)
    @app = app
  end

  def call(env)
    status, headers, response = Nesta::App.call(env)
    (status == 404) ? @app.call(env) : [status, headers, response]
  end
end
Run Code Online (Sandbox Code Playgroud)

干杯,

格雷厄姆