1、创建新的应用:
rails new demo
#demo是应用的名字,rails3要加new
2、创建controller:
rails generate controller say
#注意和rails2的格式差别
3、给controller添加action
class SayController < ApplicationController def hello @message = 'Hello World!' @time = Time.now end def goodbye @message = 'good bye!' end end
4、对应的view目录下会有say目录,这个目录下添加相应action的模板
比如demo/app/views/say目录下就需要添加:
hello.html.erb与goodbye.html.erb模板来与相应的action对应(名字与action相同),如果没有模板访问相应action就出错
hello.html.erb:
<h1><%= @message %> </h1> <% 3.times do -%> Hi <br/> <% end -%> <br/> It is now:<%= @time %> <br/> <%= link_to "GoodBye",:action => "goodbye" %>
goodbye.html.erb:
<h1><%= @message %></h1> <%= link_to "Hello",:action =>"hello" %>
注意:别抄书上的,这儿不需要<html>、<body>这些标记,不然就重复了。不知道是不是rails3加了个全局模板还是我没仔细看,这个action对应的模板是在全局模板的demo/app/views/layouts/application.html.erb的<body>里调用的
5、修改config/routes.rb,把倒数第二行的注释去掉:match ':controller(/:action(/:id(.:format)))'
6、结果就是这个样子: