0

製油所の cms を既存の Rails 3.2 アプリケーションに統合する予定です。

このガイドhttp://refinerycms.com/guides/with-an-existing-rails-appに従ってリファイナリ エンジンをセットアップします。

アプリ内のすべてのページをリファイナリーに生成させたくありません。新品のみのセットです。

したがって、routes.rb で次の行を変更しました。

    mount Refinery::Core::Engine, :at =>'/'

    mount Refinery::Core::Engine, :at =>'/cms'

開発モードで (うまく統合できるかどうかまだテスト中です)、サーバーを実行するときに手動で入力すると、

    localhost:3000/cms

cmsシステムが利用可能です。

しかし、ホーム リンクまたはリファイナリーによって作成された他のページへのリンクをクリックすると、次のエラーが表示されます。

    No route matches [GET] "/"

これは、リファイナリによって / パスを使用するように構成されているためです。

localhost:3000/cms/(ページ名) を手動で入力すると、ページがレンダリングされます。

routes.rb のエントリがデフォルトのエントリである場合

    mount Refinery::Core::Engine, :at =>'/'

次に、リファイナリによって作成されたページへのリンクは正常に機能しますが、リファイナリを統合する前に作成された既存のページは、リファイナリがそれらをオーバーライドしているため、レンダリングされません。

リファイナリによって作成されたページ リンクのパスをカスタマイズする方法を教えてください。

4

1 に答える 1

0

既存のルートの後に Refinery をマウントしていることを確認してください。これにより、作成順序に基づいて優先順位が付けられるため、上書きされません。

于 2013-02-27T07:56:58.363 に答える