Web开发敏捷之道Rails(笔记三)

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

 

 

你可能感兴趣的:(Web,css,敏捷开发,ActiveRecord,Rails)