【发布时间】:2011-10-13 20:01:35
【问题描述】:
我生成了一个名为 Search 的控制器。后来我也建立了一个叫做搜索的模型。当我尝试进行搜索时,我收到一个错误,指出没有称为搜索的控制器,因此看起来模型默认与自身的复数交互。我该如何改变这种行为
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 model controller
我生成了一个名为 Search 的控制器。后来我也建立了一个叫做搜索的模型。当我尝试进行搜索时,我收到一个错误,指出没有称为搜索的控制器,因此看起来模型默认与自身的复数交互。我该如何改变这种行为
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 model controller
听起来您对 Rails 很陌生。这里最好的建议几乎可以肯定是“不要” Rails 使用很多约定来避免必须配置所有内容,这就是其中之一。因此,我建议您更改控制器的名称,而不是试图让 rails 做一些与众不同的事情
【讨论】:
只需将控制器类从“SearchController”重命名为“SearchesController”。同时将apps/controllers中的文件重命名为search_controller.rb为searches_controller.rb。
【讨论】:
当您分别生成控制器和模型时,您还生成了其他文件,如测试文件、视图等。因此,您可能会对此感到头疼。
我建议在这些步骤中使用rails destroy 命令:
提交您当前的项目(稍后您可以从中恢复您的内容)
运行这个命令:
rails destroy model Search
rails destroy controller Search
从之前的提交中恢复你的控制器和模型。
【讨论】: