Повторное использование кода из другого приложения Rails

StackOverflow https://stackoverflow.com/questions/642437

  •  22-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь повторно использовать некоторый код из другого приложения rails, над которым я работал ранее. Я скопировал все модели / views / controller / migrations и запустил rake db: create and migrate. Теперь, когда я пытаюсь запустить приложение, начальная страница для этого представления (та, которая имеет список редактирования / удаления) загружается нормально и показывает, что существует 0 записей. Однако, когда я нажимаю «new», в коде, созданном скаффолдингом в моем другом приложении, отображается сообщение об ошибке ...

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

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

Если я смогу повторно использовать этот код или это что-то еще, что мне нужно сделать, чтобы убедиться, что я все перенес. Я попытался использовать grep, чтобы найти, где 'new_comment_path' был определен в моем другом проекте, и я увидел, что он используется только в контексте, аналогичном тому, что указан выше. Любая помощь будет оценена.

Это было полезно?

Решение

Эта ошибка показывает, что вы пропустили маршруты.

Проверьте файл conf / rout.rb в приложении, из которого вы копируете.

Скорее всего, все, что вам нужно сделать, это добавить

map.resources :comments

на ваш route.rb

И добавьте это для всех контроллеров, которые вы скопировали.

Другие советы

Если у вас есть время или вы собираетесь сделать это снова, вы можете подумать о том, чтобы повторно использовать кандидатов в плагин, или использовать функцию движков в 2.3 (или установить плагин rails_engines для более старых версий)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top