所有脚手架生成的应用程序都会默认使用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 %>