0

以前に作業した別の Rails アプリケーションのコードを再利用しようとしています。すべてのモデル / ビュー / コントローラー / 移行をコピーし、rake db:create と移行を実行しました。アプリケーションを実行しようとすると、このビュー (リストの編集/削除を含むページ) の最初のページが正常に読み込まれ、レコードが 0 個あることが示されます。ただし、[新規] をクリックすると、他のアプリケーションのスキャフォールディングによって作成されたコードの一部にエラー メッセージが表示されます...

<%= link_to 'New comment', new_comment_path %>

undefined local variable or method `new_comment_path' for #<ActionView::Base:0xb67c9690>

このコードを再利用できるようにする必要がありますか、それとも他の何かを実行して、すべてを確実に移行する必要があります。grep を使用して、他のプロジェクトで「new_comment_path」が定義されている場所を見つけようとしましたが、上記と同様のコンテキストで使用されているだけでした。どんな助けでも大歓迎です。

4

2 に答える 2

7

このエラーは、ルートがないことを示しています。

コピー元のアプリの conf/routes.rb ファイルをチェックインします。

ほとんどの場合、追加するだけで済みます

map.resources :comments

あなたのroutes.rbに

そして、コピーしたすべてのコントローラーにそれを追加します。

于 2009-03-13T12:26:19.390 に答える
1

時間がある場合、またはこれをもう一度行う予定がある場合は、再利用候補をプラグインにするか、2.3 のエンジン機能を使用することを検討してください (または、少し古いバージョンの場合はrails_engines プラグインをインストールします)。

于 2009-03-13T14:08:49.063 に答える