从另一个Rails应用程序重用代码

时间:2009-03-13 12:23:36

标签: ruby-on-rails ruby reusability

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

2 个答案:

答案 0 :(得分:7)

此错误表示您缺少路线。

检入您要复制的应用程序中的conf / routes.rb文件。

最有可能你需要做的就是添加

map.resources :comments

到您的routes.rb

并为您复制的所有控制器添加。

答案 1 :(得分:1)

如果您有时间或期望再次执行此操作,您可以考虑将重用候选项添加到插件中,或者使用2.3中的引擎功能(或者为稍早版本安装rails_engines plugin