2010-08-22 24 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 
... 
  • mi?
  • "Do" ve "| format |" nedir? Neden format etrafında dikey ayırıcılar var?
  • Rails Post modeli hakkında ne biliyor? Bu modeli almadım. Bu Ruby on Rails öğreticisindeki olduğunu

(Python/Django olarak, kullanmadan önce bir model ithal etmek zorunda): http://edgeguides.rubyonrails.org/getting_started.html#setting-the-application-home-page"response_to" ve "do" ve "| format |" nedir? bu Rails kodunda? o rayların bölümün tam "respond_to" nedir

cevap

12

respond_to farklı için nasıl isteklerini tanımlayan raylar belirli bir yöntemdir formatlar (xml ve html gibi) yanıtlanır. do ve |format|do bir kapatma ayracı olarak açık bir ayraç ve end gibi hareket ederek, yakut blok tasvir ve |format|responds_to içinde yield deyimi değerini alır, blok değişkeni tanımlar.

+0

"Yap" ve "| biçim |" standart yakut mu? (raylarla ilgili değil?) – TIMEX

+0

@TIMEX evet, bu doğru – jphenow

2

"do", RUBY bloğu ve "| format |"

respond_to do |x| 
    x.html # index.html.erb 
    x.xml { render :xml => @posts } 
end 
0
  • respond_to is a Rails method.
  • do and the block's parameter (format) is standard Ruby.
  • Raylar otomatik olarak çeşitli kitaplıkları yükler ve çeşitli yerlerde bunları ortaya çıkarır: şey olabilir, onun sadece bir değişken olduğunu bloğun içine kullanmak, burada başka bir örnektir. Başka bir örnek, şablonlarda otomatik olarak bulunan ancak denetleyicilerde olmayan yardımcı görüntüleyicileridir. (Ancak they can be, varsayılan olarak değillerdir.)