Я уже провел несколько успешных экспериментов по интеграции nesta с rails 3 (см. Возможно ли включить Nesta CMS в приложение Rails3? и Интеграция с Nesta CMS и Rails3: добавление блога в выходящее приложение rails 3)
Но для этого мне понадобилось меню в правой части блога, как описано в « Работа с меню »
Чтобы попробоватьЯ создал известный контент-демонстрационный сайт с nesta demo:content
, но все ссылки, появляющиеся справа, которые идут из content-demo / menu.txt, не работают, потому что связаны с основным приложением Rails (http://example.com) а не во встроенный блог nesta (http://example.com/blog)
Вот мои текущие настройки файлов, интеграция между Rails 3.0.10 и Nesta 0.9.10:
config/routes.rb
match '/blog' => Nesta::App
match '/css/*style.css' => Nesta::App
match '/attachments/*file' => Nesta::App
root :to => "home#index"
ОБНОВЛЕНИЕ:
с использованием mount Nesta::App, :at => '/blog'
вместо match '/blog' => Nesta::App
богатый тот же результат ...
config / initializers / nesta.rb
require "nesta/env"
require "nesta/app"
Nesta::Env.root = ::File.expand_path("../../nesta-blog", File.dirname(__FILE__))
Nesta::App.root = ::File.expand_path("../../nesta-blog", File.dirname(__FILE__))
nesta-blog / config / config.yml
...
content: nesta-blog/content-demo
...
I thoЭто зависело от того, как Nesta создала относительный путь для меню, и это зависело от метода base_url
в nesta-0.9.10/lib/nesta/app.rb
.
Чем я пытался распаковать локально nesta-0.9.10, изменив url = "http://#{request.host}"
в url = "http://#{request.host}/blog"
:
def base_url
url = "http://#{request.host}/blog"
request.port == 80 ? url : url + ":#{request.port}"
end
положить gem 'nesta', :path => 'vendor/gems/nesta-0.9.10'
в Gemfile и build update nesta
, но нет, неРабота.
ОБНОВЛЕНИЕ:
Также несколько попыток с Nesta::Menu.for_path('/')
в ./vendor/gems/nesta-0.9.10/lib/nesta/app.rb
def set_common_variables
@menu_items = Nesta::Menu.for_path('/')
@site_title = Nesta::Config.title
set_from_config(:title, :subtitle, :google_analytics_code)
@heading = @title
end
не дали результатов.
Мой nesta-блог/content-demo/menu.txt в настоящее время не ссылается на домашнюю страницу (как при генерации по умолчанию с nesta demo:content
):
marking-up-pages
examples/using-markdown
examples/using-textile
examples/using-haml
adding-attachments
menu-editing
publishing-a-feed
, и если я попытаюсь поставить что-то вроде:
/
или /blog
или /nesta-blog
меню исчезают ...
Итак, мой вопрос, как это работает?Есть ли у вас какие-либо предложения / обходные пути?
Заранее спасибо Luca G. Soave