【问题标题】:Rails Model and ControllerRails 模型和控制器
【发布时间】:2011-10-13 20:01:35
【问题描述】:

我生成了一个名为 Search 的控制器。后来我也建立了一个叫做搜索的模型。当我尝试进行搜索时,我收到一个错误,指出没有称为搜索的控制器,因此看起来模型默认与自身的复数交互。我该如何改变这种行为

【问题讨论】:

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


    【解决方案1】:

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

    更多详情见this stackoverflow question

    【讨论】:

    • 很好的建议。约定优于配置。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      当您分别生成控制器和模型时,您还生成了其他文件,如测试文件、视图等。因此,您可能会对此感到头疼。

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

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

      运行这个命令:

      rails destroy model Search
      rails destroy controller Search
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-23
        • 1970-01-01
        相关资源
        最近更新 更多