0

我正在尝试重用我之前工作过的另一个 Rails 应用程序中的一些代码。我复制了所有模型/视图/控制器/迁移并运行 rake db:create and 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”的位置,但我只看到它在与上面列出的内容类似的上下文中使用。任何帮助,将不胜感激。

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 回答