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 
... 
  • Chính xác là "respond_to" Có phải là một phần của đường ray không?
  • "làm" và "| định dạng |" là gì? Tại sao có các dấu phân cách dọc theo định dạng?
  • Làm thế nào để Rails biết về mô hình Đăng? Tôi đã không nhập mô hình đó. (Trong Python/Django, bạn phải nhập một mô hình trước khi bạn có thể sử dụng nó)

Đây là từ Ruby on Rails hướng dẫn: http://edgeguides.rubyonrails.org/getting_started.html#setting-the-application-home-page"respond_to" và "do" và "| format |" là gì? trong mã Rails này?

Trả lời

12

respond_to là một đường ray phương pháp cụ thể mà định nghĩa cách yêu cầu khác nhau các định dạng (như xml và html) được trả lời. Các do|format| phân định một khối ruby, với do hoạt động như một cú đúp mở và end như một cú đúp đóng cửa, và |format| định nghĩa biến khối mà được giá trị của nó từ báo cáo kết quả yield trong responds_to.

+0

"do" và "| format |" ruby tiêu chuẩn? (không liên quan đến đường ray?) – TIMEX

+0

@TIMEX vâng, đúng vậy – jphenow

2

"do" là khối RUBY và "| format |" có thể là bất cứ điều gì, nó chỉ là một biến để sử dụng bên trong khối đó, đây là một ví dụ:

respond_to do |x| 
    x.html # index.html.erb 
    x.xml { render :xml => @posts } 
end 
Các vấn đề liên quan