2008-09-18 35 views
12

我正在跟随有关restful_authentication插件的railscast。在Rails中重命名控制器并清除生成的内容

他建议运行以下命令:我做到了

脚本/生成验证的用户会话

,并产生“精”的一切,但当时的会议是行不通的。再次检查的部位,他提到命名标准,并列出更新的代码,其中指出:

脚本/生成验证的用户会话

与正在使用复数会议。

所以现在我有一个SessionController它session_controller.rb,但我想通过命名标准,它正在寻找SessionsController,导致代码失败了,出现错误“在SessionsController#NameError打造”

我看到这个问题很明显,但我不知道的是,如何解决这个问题而不重新生成内容?是否有办法扭转生成过程以清除代中所做的所有更改?

我试着用e SessionsController类将文件重命名为sessions_controller,但失败了。

写这个的时候,我解决了我自己的问题。我必须将路由文件中的会话重命名为map.resource,并将视图目录从会话重命名为会话,并将html.erb文件中的session_path更新为sessions_path。

所以我解决了我的问题,但我的答案关于删除生成的内容仍然存在。是否有可能产生内容?

回答

14

实际上,script/destroy适用于任何发电机 - 发电机通过阅读各种类型的脚本来创建什么文件; script/destroy只是反向读取该脚本,并删除所有创建的文件,只要您将它传递给script/generate即可。

总结:script/destroy authenticated user session会删除所有为您生成的文件,之后您可以运行script/generate user sessions,而不会出现问题。

1

您可以在subversion中回滚到之前的版本,然后重新开始,对不对?对? :-)

对于'ungenerationrating'的东西,rails有script/destroy,但我怀疑这只适用于rails的船只,而不是平静的身份验证插件。

我说你最好的选择是找到功能于文件(或grep -R如果你不使用IDE) - 找到引用您的旧SessionController一切,改变它

2

我从来没有尝试script/destroy,但是如果您恢复了刚才所做的更改,那么generate命令应该会为您提供添加的文件列表和所做的更改。如果您使用的是某种版本的控制系统,那么运行状态/差异也会有所帮助。