私はすでに、nesta を Rails 3 と統合するいくつかの成功した実験を行いました ( Is it possble include Nesta CMS into Rails3 application?およびNesta CMS と Rails3 の統合: 既存の Rails 3 アプリケーションへのブログの追加 を参照) 。
しかしそれよりも、「メニューの操作」で説明したように、ブログの右側にメニューが必要でした。
試しに、有名な content-demo サイトをnesta demo:content
で作成しましたが、メインの 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__))
ネスタブログ/config/config.yml
...
content: nesta-blog/content-demo
...
nesta が menu の liks の相対パスをどのように構築したかによると思いましたが、それは の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-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
メニューが消える...
だから私の質問は、それはどのように機能するのですか? 提案/回避策はありますか?
前もってありがとう ルカ・G・ソアベ