2010-08-22 75 views
10
class PostsController < ApplicationController 
    # GET /posts 
    # GET /posts.xml 
    def index 
    @posts = Post.all 

    respond_to do |format| 
     format.html # index.html.erb 
     format.xml { render :xml => @posts } 
    end 
    end 
... 
  • 到底是什麼 「的respond_to」 是軌 一部分?
  • 什麼是「do」和「| format |」?爲什麼在格式上有垂直分隔符?
  • Rails如何知道Post模型?我沒有導入該模型。 (在Python/Django的,你必須輸入一個模型,然後才能使用它)

這是從Ruby on Rails的教程:http://edgeguides.rubyonrails.org/getting_started.html#setting-the-application-home-page什麼是「respond_to」和「do」以及「| format |」在這個Rails代碼中?

回答

12

respond_to是定義不同如何請求軌具體方法格式(如xml和html)被響應。的do|format|劃定一個紅寶石塊,與do像個開括號和end作爲右括號和|format|定義塊變量從yield語句內responds_to獲取其值。

+0

「做」和「|格式|」是標準的紅寶石? (不涉及導軌?) – TIMEX 2010-08-23 00:48:26

+0

@TIMEX是的,這是正確的 – jphenow 2013-01-17 14:44:36

2

「do」是一個RUBY塊,並且「| format |」可以是任何東西,它只是一個變量,以該塊內使用,這裏是另一個例子:

respond_to do |x| 
    x.html # index.html.erb 
    x.xml { render :xml => @posts } 
end 
相關問題