【问题标题】:Routing Error in Ruby on Rails for simple viewRuby on Rails 中的路由错误以方便查看
【发布时间】:2012-01-16 21:13:43
【问题描述】:

我正在学习构建一个非常简单的 Rails 应用程序的教程。我创建了一个看起来像这样的简单控制器

class AnimalsController < ApplicationController
end

我在视图中有一个文件夹,称为动物,其中包含一个名为 hello.rhtml 的 rhtml 文件,其中包含一些基本文本。现在当我启动服务器并去访问时

http://localhost:3000/animals/hello

我收到路由错误。我不确定我做错了什么?

【问题讨论】:

    标签: ruby-on-rails routing controller views


    【解决方案1】:

    与某些框架不同,路由不是从控制器中存在的方法自动创建的,您需要在 config/routes.rb

    get "animals/hello" => "animals#hello"
    

    你可以阅读路由here

    您可以通过在终端中输入rake routes 来查找当前项目的路线。

    class AnimalsController < ApplicationController 
      def hello
      end
    end
    

    【讨论】:

    • 我得到“无法为 AnimalsController 找到动作 'hello'”还不太确定
    • 尝试使用def hello; end向控制器添加一个hello方法
    • 我很抱歉,但这没有任何作用。
    • @AndersKitson 也许说明不清楚。我已将其编辑到我的答案中。
    【解决方案2】:

    您还需要在控制器中添加一个名为“hello”的操作方法。

    所以你的控制器变成了:

    class AnimalsController < ApplicationController
        def hello
        end
    end
    

    然后结合 Gazler 的回答,Routing Error 应该会消失。

    【讨论】:

      【解决方案3】:

      如果你想从 AnimalsController 中获取所有方法,那么可以写:

      match 'animals/:method', :controller => 'animals'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多