0

我正在将nesta (0.9.8) cms 添加到现有的Rails 3.0.10 应用程序中。我让博客启动并运行,但不是布局/样式表。

到目前为止我所做的是: 1. 在 rails app 主根目录中,添加 gem 'nesta'、gem 'sass' 并运行 'bundle'
2. 运行“nesta new nesta-blog” 3. 编辑 config.ru,如下所示:

require ::File.expand_path('../config/environment',  __FILE__)
map "/" do
 run MyRails3App::Application
end

require 'nesta/env'
require 'nesta/app'

Nesta::App.root = ::File.expand_path('./nesta-blog', ::File.dirname(__FILE__))
map "/blog" do
 run Nesta::App
end

4. 编辑 config/routes.rb 如下:

require 'nesta/env'
require 'nesta/app'

Rails3MongoidOmniauthSimple::Application.routes.draw do

 mount Nesta::App.new => "/blog"
 root :to => "home#index"
...

5. cd 内斯塔博客 6. 运行nesta demo:content

现在,如果您rails s从 ~/main-rails-app 运行,转到http://localhost:3000/blog,您将看到演示内斯塔站点,但没有他的默认布局/样式表,而如果您shotgun config.ru从内部运行 ~/ main-rails-app/nesta-blog,去http://localhost:9393/一切都正确显示。

有什么建议吗?

在此先感谢 Luca G. Soave

4

1 回答 1

1

我还没有达到我想要的即插即用级别,但是我通过将它添加到 config/routes.rb 来在我的 Rails 3.0 站点上运行 Nesta:

mount Nesta::App, :at => '/'
match '/css/*style.css' => Nesta::App
match '/attachments/*file' => Nesta::App

我还没有研究一种更简洁的方法来做到这一点(即避免也必须指定 css 和附件路由)。

我在位于“#{Rails.root}/nesta”的目录中创建了我的 Nesta 应用程序。我还需要一个 in config/initializers/nesta.rb:

require "nesta/env"
Nesta::Env.root = ::File.expand_path("../../nesta",
                                     File.dirname(__FILE__))

我也很喜欢你的做法。

于 2011-08-24T18:17:59.117 回答