所有脚手架生成的应用程序都会默认使用public/stylesheets目录下的scaffold.css样式表。
1:布局模板
在views目录下的 文件夹名称与 layouts目录下的文件名相同,其views目录下的 文件夹里面的文件使用其模板。
即:在app/views/layouts目录中创建了一个与某个控制器同名的模板文件,那么该控制器所渲染的视图在默认状态下会使用此布局模板。
例如:views/layouts/store.rhtml
<SPAN style="FONT-SIZE: small"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Products: <%= controller.action_name %></title>
<%= stylesheet_link_tag 'scaffold' %>
</head>
<body>
<p style="color: green"><%= flash[:notice] %></p>
<%= yield %>
</body>
</html>
</SPAN>
这里用 stylesheet_link_tag 创建了一个 <link>标记,用于加载脚手架生成的样式表,'scaffold' 省略了css后缀。
当我们调用yield方法并传入:laout时,Rails会自动在这里插入页面的内容,也就是真实视图所生成的内容。
2:controller与 model交互
class StoreController < ApplicationController
def index
@products=Product.find_products_for_sale #调用Product类中的方法
end
end
class Product<ActiveRecord::Base
def self.find_products_for_sale
find(:all,:order=>"title")
end
end
#定义类方法,类可以直接调用
# find() 方法返回一个数组,每个元素是一个对象,order用于排序
<% for product in @products %>
<%= product.title %>
<% end %>