现在让我们试着自己动手创建一个controller、action和view。我们在之前的blog项目里,可以创建一个新的资源。所谓资源,是指一种类似对象的集合,我们可以创建、读取、变更和删除它们。
Rails提供了一种创建资源的方法,我们只需在config/routes.rb中增加相关内容即可。
Rails.application.routes.draw do
get 'welcome/index'
resources :articles
root 'welcome#index'
end
然后我们执行以下rails routes命令,我们会看到系统会按照标准RESTful的原则定义路由。
假如我们想通过http://localhost:3000/articles/new访问我们想要添加的article资源,而在浏览器中直接输入这个url的话,就会得到下面这样的错误:
这是因为我们需要定义一个controller来进行访问。可以通过以下命令创建一个Articles controller,即rails generate controller Articles
此时生成了articles_controller.rb文件,但是打开文件,里面内容是空的,我们可以先定义一个new方法,将文件内容变更如下:
class ArticlesController < ApplicationController
def new
end
end
我们再次访问一下http://localhost:3000/articles/new,发现还是报错,是因为我们还没有对应的view文件,发现在views文件夹下有一个名为articles的文件夹,但是是空的。我们在此动手创建一个名叫new.html.erb的文件,简单的编辑一下:
<h1>New Article</h1>
到此我们终于可以正常访问了。
备注:有些仓促,不好意思。明天回老家过年,大概有10天左右不会更新了。提前祝大家新年快乐!