別のRailsアプリのコードを再利用する
-
22-07-2019 - |
質問
以前に取り組んだ別のRailsアプリケーションのコードを再利用しようとしています。すべてのモデル/ビュー/コントローラー/マイグレーションをコピーし、rake db:createおよびmigrateを実行しました。アプリケーションを実行しようとすると、このビュー(リストの編集/削除があるビュー)の初期ページが正常にロードされ、レコードが0個あることが示されます。ただし、[新規]をクリックすると、他のアプリケーションのスキャフォールディングによって作成されたコードの一部にエラーメッセージが表示されます...
<%= link_to 'New comment', new_comment_path %>
undefined local variable or method `new_comment_path' for #<ActionView::Base:0xb67c9690>
このコードを再利用できるのか、それとも他のものであるのかを確認して、すべてを移動させる必要があります。私はgrepを使用して、「new_comment_path」が他のプロジェクトで定義されている場所を見つけようとしましたが、上記のリストと同様のコンテキストでのみ使用されています。助けていただければ幸いです。
解決
このエラーは、ルートが欠落していることを示しています。
コピー元のアプリでconf / routes.rbファイルをチェックインします。
おそらくあなたがする必要があるのは追加するだけです
map.resources :comments
routes.rbへ
コピーしたすべてのコントローラーに追加します。
他のヒント
時間がある場合、またはこれを再度行う予定がある場合は、再利用候補をプラグインにするか、2.3のエンジン機能を使用するか(またはやや古いバージョンのrails_enginesプラグイン)
所属していません StackOverflow