【问题标题】:Ruby on Rails first stepsRuby on Rails 第一步
【发布时间】:2015-08-23 17:33:23
【问题描述】:

我已经在我的 Linux VM(TurnKey Rails VM 映像)上安装了 ROR+apache2,并按照 http://guides.rubyonrails.org/getting_started.html 本指南进行了第一步

我一直坚持添加资源调用文章。我做了什么 我的路线.rb:

root@rails www/blog# cat ./config/routes.rb 
Blog::Application.routes.draw do

  resources :articles

  root 'welcome#index'



end

我的耙子路线

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

之后在浏览器“/”中工作正常,我得到了我的“你好,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 教程(谷歌它),它很好地引导初学者通过许多介绍性步骤来使用 Rails。
  • 你能把控制器代码也给我看一下吗?
  • 在主题负责人中发布了您的 4 个问题的答案
  • 您的文章控制器是空的吗?不应该是
  • 官方“rails hello world”guides.rubyonrails.org/getting_started.html 中提到的空控制器不是找不到 404 页面的原因。由于控制器为空,可能会出现“未知操作”。

标签: ruby-on-rails ruby ruby-on-rails-3 passenger


【解决方案1】:

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)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-22
  • 2012-06-11
相关资源
最近更新 更多