Ruby on Rails 初学者指南

3
我已经在我的Linux虚拟机(TurnKey Rails VM镜像)上安装了ROR + apache2,并且正在按照http://guides.rubyonrails.org/getting_started.html这个指南进行第一步操作。
我卡在了添加资源调用文章的地方。我在routes.rb文件中做了什么:
root@rails www/blog# cat ./config/routes.rb 
Blog::Application.routes.draw do

  resources :articles

  root 'welcome#index'



end

我的rake路由

root@rails www/blog# rake routes
      Prefix Verb   URI Pattern                  Controller#Action
    articles GET    /articles(.:format)          articles#index
             POST   /articles(.:format)          articles#create
 new_article GET    /articles/new(.:format)      articles#new
edit_article GET    /articles/:id/edit(.:format) articles#edit
     article GET    /articles/:id(.:format)      articles#show
             PATCH  /articles/:id(.:format)      articles#update
             PUT    /articles/:id(.:format)      articles#update
             DELETE /articles/:id(.:format)      articles#destroy
        root GET    /                            welcome#index

接下来的指南如下:
rails g controller articles

之后在浏览器中访问"/"时,一切正常,我可以看到“hello, rails”。

但是访问"/articles/"或"/articles/new"会返回404错误 - 未找到(您查找的页面不存在)。

这是我的视图文件夹。

views  ls -al
total 20
drwxrwxrwx 5 www-data www-data 4096 Jun 10 05:02 .
drwxrwxrwx 8 www-data www-data 4096 Jun 10 04:40 ..
drwxrwxrwx 2 www-data www-data 4096 Jun 10 05:02 articles
drwxrwxrwx 2 www-data www-data 4096 Jun 10 04:40 layouts
drwxrwxrwx 2 www-data www-data 4096 Jun 10 04:49 welcome

我的文章控制器代码:

class ArticlesController < ApplicationController
end

许多时间在Google上搜索,但没有结果。

问题是我做错了什么,如何调试这种问题。

谢谢!


你好!我的猜测是你还没有产生任何视图。我建议你查看一下 Hartl Rails 教程(在Google上搜索),它很好地指导初学者完成了解 Rails 的入门步骤。 - Lanny Bose
你能把控制器代码也给我看一下吗? :) - Milind
在主题头中回答了你们的问题。 - Николай Булашев
你的文章控制器是空的吗?不应该这样。 - Yahs Hef
正如官方的“Rails Hello World”所述,http://guides.rubyonrails.org/getting_started.html,空控制器不是404页面未找到的原因。由于空控制器可能会出现“未知操作”。 - Николай Булашев
1个回答

0
URL 的最后一部分告诉 Rails 应该调用哪个控制器和控制器中的哪个动作。 以您的示例为例:/actions/new 指的是控制器 'actions_controller.rb' 和动作。
def new
end

如果您在控制器操作中未定义任何内容,则Rails将显示与控制器操作同名的视图。 在这种情况下,您必须拥有此文件:

views\actions\new.html.erb

我猜这是你还没有创建的文件。


好的,我已经将你的代码添加到/controllers/articles_controller.rb文件中,但是articles/仍然出现404错误。 - Николай Булашев
视图文件路径应为 app/views/articles/index.html.erb,用于索引视图(URL /articles)。 - Moamen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接