Ruby on Rails 中的路由错误的简单视图

发布于 2024-12-27 11:04:10 字数 311 浏览 3 评论 0原文

我正在遵循构建一个非常简单的 Rails 应用程序的教程。我创建了一个如下所示的简单控制器

class AnimalsController < ApplicationController
end

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

http://localhost:3000/animals/hello

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

I am following a tutorial for building a very simple rails app. I have created a simple controller that looks like this

class AnimalsController < ApplicationController
end

and I have a folder inside of views called animals with a rhtml file called hello.rhtml containing some basic text. Now when I start the server and go visit

http://localhost:3000/animals/hello

I get a Routing Error. I am not sure what I am doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

つ低調成傷 2025-01-03 11:04:10

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

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

您可以阅读有关路由的内容此处

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

class AnimalsController < ApplicationController 
  def hello
  end
end

Unlike some frameworks, the routes are not automatically created from the methods that exist in the controller, you need the following in config/routes.rb

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

You can read about routing here.

You can find out the routes for your current project by typing rake routes in your terminal.

class AnimalsController < ApplicationController 
  def hello
  end
end
时常饿 2025-01-03 11:04:10

此外,您的控制器中还需要一个名为“hello”的操作方法。

所以你的控制器变成:

class AnimalsController < ApplicationController
    def hello
    end
end

然后结合 Gazler 的答案,路由错误应该消失。

Also you need a action method in your controller called 'hello'.

So your controller becomes:

class AnimalsController < ApplicationController
    def hello
    end
end

Then combine Gazler's answer, the Routing Error should disappear.

夜深人未静 2025-01-03 11:04:10

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

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

And if you wanna get all methods from AnimalsController visible then wrtite:

match 'animals/:method', :controller => 'animals'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文