Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ch 2 micropost rails教程上的布线错误(rescues/layout中的Routing_error.html.erb)_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails ch 2 micropost rails教程上的布线错误(rescues/layout中的Routing_error.html.erb)

Ruby on rails ch 2 micropost rails教程上的布线错误(rescues/layout中的Routing_error.html.erb),ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在开发中的micropost toy_应用程序,而我在cloud9 url()上的站点不起作用。我已经尝试了很多方法来解决这个问题(例如,ctrl c,重新启动rails服务器,ctrl c,将我错过的可能更改推给heroku等等),但是显示的网页在红色和白色“我们很抱歉,但出了问题”一般错误和蓝色/粉色错误之间切换“这里似乎没有运行任何应用程序!Cloud9无法让您访问请求的工作区“错误” 在C9开发日志中,反复显示以下两个错误: rescues/layout中的Rendered/usr/

我正在开发中的micropost toy_应用程序,而我在cloud9 url()上的站点不起作用。我已经尝试了很多方法来解决这个问题(例如,ctrl c,重新启动rails服务器,ctrl c,将我错过的可能更改推给heroku等等),但是显示的网页在红色和白色“我们很抱歉,但出了问题”一般错误和蓝色/粉色错误之间切换“这里似乎没有运行任何应用程序!Cloud9无法让您访问请求的工作区“错误”

在C9开发日志中,反复显示以下两个错误: rescues/layout中的Rendered/usr/local/rvm/gems/ruby-2.2.1/gems/web-console-2.0.0.beta3/lib/action\u dispatch/templates/rescues/routing\u error.html.erb

ActionController::RoutingError(未初始化的常量MicropostsController)

我搜索了所有地方,看起来大多数有路由错误的人都有不同的错误消息,这是因为他们没有正确定义自己的路由。我对这一点完全陌生,我不知道自己做错了什么

以前(当我阅读本教程第1章时),我的/users和/users/new页面工作正常,但是现在这些URL都不工作了。这可能与C9bitbucketheroku问题有关,还是可能与我的实际代码有关?heroku日志没有显示任何有意义的内容

我的routes.rb文件如下所示: Rails.application.routes.draw do 资源:微操 资源:用户 根“microposts#index” 结束

值得一提的是,我在2015年12月25日开始了本教程,也就是rails 2.3发布的那一天——但我的日志显示我现在使用的是2.2.1。我想知道,从12月25日开始的20-30个小时内,我在c9上的rails版本是否过时了?我不明白这是怎么回事,因为我使用的是云IDE


我是rails的新手,除了大学里的几节课之外,我没有做过任何编程——任何提示或指点都将不胜感激。

重新开始后,我在大约一个小时后终于明白了这一点——我遇到了两个问题。第一个问题是,我只运行了教程中2个必要的脚手架命令中的一个(doh!)。我通过更仔细地阅读c9开发日志发现了这一点,并注意到一行写着
ActionController::RoutingError(没有与[GET]“/micropost”匹配的路由):
。此时我意识到我缺少了micropost应用程序控制器,因为我从未使用第二个scaffolding命令创建过它:
rails生成scaffold micropost内容:text user_id:integer

另一个问题是我没有(现在仍然没有)真正理解rails服务器是如何工作的——因此我在进行更改,没有意识到服务器需要积极运行才能加载网站。当我运行
rails服务器-b$IP-p$PORT
命令时,它看起来好像永远不会完成(例如,我启动下一个命令提示符所需的$直到我点击ctrl c时才出现)。因此我一直点击ctrl c,没有意识到我正在杀死承载该网页的服务器

我现在所做的是进行所有更改,然后运行服务器,然后在需要进行更多更改时按ctrl c


我对服务器的东西做了什么错误吗?总的来说,它在工作,但似乎有更好的方法。

尽管你应该适应如何在StackOverflow正确格式化代码…你写了很多,但却很少。如果你有路由错误,不仅是你的
路由。rb
是个问题,也是个问题由于未安装正确的路由,试图访问某些内容但无法访问的文件。这可能有几个原因,而且您没有提供很多提示。此处没有人会阅读任何教程文本,因为如果没有您使用的代码,我们无法确定错误可能在何处。:)PS:路由错误很少与ruby版本本身有关。这可能只是一个打字错误,或者你在阅读第2章的过程中忘记使用rails函数,这本应该为你创建正确的路由。大多数情况下,它是一个表单或URL/链接,试图访问路由文件中未正确实例化的页面顺便说一句,这很有趣,你可以在那里定义访问什么的位置。例如,你可以命名不同的路由(URL)访问相同的内容。就像一所房子有两扇门或更多扇门一样。感谢您的快速响应!我实际上推迟了提问,因为我不知道如何正确设置StackOverflow的代码格式,最后被卡住了,我觉得发布格式不好的代码总比什么都没有好:)