0

私はすでに、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・ソアベ

4

1 に答える 1

0

ルートを一致させるだけでなく、Nesta をマウントしようとしましたか (「Nesta CMS と Rails3 の統合: 既存の Rails 3 アプリケーションにブログを追加する」で説明されているように)。

これらすべての相対パスの問題に対処できるとmount思いroutes.rbます。

スタック オーバーフローは素晴らしいと思いますが、Nesta メーリング リストでこのようなことを行う方がうまくいくと思います。ここにあなたの投稿を見たネスタを使っている人の数は比較的少なくなります...

于 2011-09-11T20:55:03.297 に答える