Rails模型和控制器

时间:2011-10-13 20:01:36

标签: ruby-on-rails ruby-on-rails-3 model controller

我生成了一个名为Search的控制器。后来我也建立了一个名为搜索的模型。当我尝试进行搜索时,我得到一个错误,表示没有控制器称为搜索,所以看起来模型默认情况下模型与其自身的复数相互作用。我该如何改变这种行为

3 个答案:

答案 0 :(得分:4)

听起来你对铁杆很新。这里最好的建议几乎肯定是“不要”Rails使用了很多约定来避免必须配置所有内容,这就是其中之一。因此,我建议更改控制器的名称,而不是试图让rails做一些与众不同的事情

有关详细信息,请参阅this stackoverflow question

答案 1 :(得分:1)

只需将控制器类从“SearchController”重命名为“SearchesController”即可。同时将apps/controllers中的文件重命名为search_controller.rbsearches_controller.rb

答案 2 :(得分:0)

当您单独生成控制器和模型时,还会生成其他文件,如测试文件,视图等。所以你可能会对此感到非常头痛。

我建议在这些步骤中使用rails destroy命令:

提交您当前的项目(稍后您可以从中恢复您的内容)

运行以下命令:

rails destroy model Search
rails destroy controller Search

从之前的提交中恢复您的控制器和模型。