2010-08-22 1 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 
... 
  • Was genau ist "respond_to" Ist es Teil der Schienen?
  • Was ist "do" und "| format |"? Warum gibt es vertikale Trennzeichen im Format?
  • Woher kennt Rails das Post-Modell? Ich habe dieses Modell nicht importiert. (In Python/Django, Sie haben ein Modell zu importieren, bevor Sie es verwenden können)

Dieses aus dem Ruby ist on Rails-Tutorial: http://edgeguides.rubyonrails.org/getting_started.html#setting-the-application-home-pageWas ist "respond_to" und "do" und "| format |" in diesem Rails-Code?

Antwort

12

respond_to ist ein Schienen spezifische Methode, die für verschiedene, wie Anforderungen definiert Formate (wie XML und HTML) werden beantwortet. Die do und |format| umreißen eine rubinBlock, mit do wie eine offene Klammer wirkt, und end als schließenden Klammer und |format| definiert die Blockvariable, die innerhalb responds_to dessen Wert von der yield Anweisung erhält.

+0

"do" und "| format |" sind Standardrubin? (nicht im Zusammenhang mit Schienen?) – TIMEX

+0

@TIMEX ja, das ist richtig – jphenow

2

Das "do" ist ein RUBY-Block und das "| format |" nichts, es ist nur eine Variable in diesem Block zu verwenden sein könnte, hier ist ein weiteres Beispiel:

respond_to do |x| 
    x.html # index.html.erb 
    x.xml { render :xml => @posts } 
end 
Verwandte Themen