我生成了一个名为Search的控制器。后来我也建立了一个名为搜索的模型。当我尝试进行搜索时,我得到一个错误,表示没有控制器称为搜索,所以看起来模型默认情况下模型与其自身的复数相互作用。我该如何改变这种行为
答案 0 :(得分:4)
听起来你对铁杆很新。这里最好的建议几乎肯定是“不要”Rails使用了很多约定来避免必须配置所有内容,这就是其中之一。因此,我建议更改控制器的名称,而不是试图让rails做一些与众不同的事情
有关详细信息,请参阅this stackoverflow question
答案 1 :(得分:1)
只需将控制器类从“SearchController”重命名为“SearchesController”即可。同时将apps/controllers
中的文件重命名为search_controller.rb
至searches_controller.rb
。
答案 2 :(得分:0)
当您单独生成控制器和模型时,还会生成其他文件,如测试文件,视图等。所以你可能会对此感到非常头痛。
我建议在这些步骤中使用rails destroy
命令:
提交您当前的项目(稍后您可以从中恢复您的内容)
运行以下命令:
rails destroy model Search
rails destroy controller Search
从之前的提交中恢复您的控制器和模型。