0

我已经成功进行了一些将 Nesta 与 Rails 3 集成的实验(请参阅Is it possble include Nesta CMS into Rails3 application?Nesta CMS and Rails3 integration: added blog to an exiting rails 3 application

但是,我需要博客右侧的菜单,如“使用菜单”中所述

为了试一试,我用 构建了著名的内容演示站点nesta demo:content,但是出现在右侧的所有链接(来自 content-demo/menu.txt)都因与 Rails 主应用程序有关(http:/ /example.com)而不是嵌入的内斯塔博客(http://example.com/blog

这是我当前的文件配置,集成在 Rails 3.0.10 和 Nesta 0.9.10 之间:

配置/路由.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丰富相同的结果...

配置/初始化程序/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__))

内斯塔博客/配置/config.yml

...
content: nesta-blog/content-demo
...

我认为这取决于内斯塔如何构建菜单点赞的相对路径,这取决于base_url.nesta-0.9.10/lib/nesta/app.rb

url = "http://#{request.host}"比我尝试在本地解包nesta-0.9.10更改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'Gemfilebuild update nesta但不,不起作用。

更新:

也很少尝试Nesta::Menu.for_path('/')in./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-blog/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

4

1 回答 1

0

您是否尝试安装 Nesta,而不是仅仅匹配路由(如内斯塔 CMS 和 Rails3 集成中所述:将博客添加到现有的 rails 3 应用程序)?

我希望mountinroutes.rb可以为您处理所有这些相对路径问题。

我认为堆栈溢出很棒,但我怀疑你会在 Nesta 邮件列表上做得更好。使用 Nesta 并在此处看到您的帖子的人数会相对较少……

于 2011-09-11T20:55:03.297 回答