這是生成的默認Rails代碼。我理解代碼的作用(來自文檔中的解釋),但不瞭解它的作用。rails中的`respond_to`函數如何工作?
1 class PostsController < ApplicationController
2 # GET /posts
3 # GET /posts.json
4 def index
5 @posts = Post.all
6
7 respond_to do |format|
8 format.html # index.html.erb
9 format.json { render json: @posts }
10 end
11 end
我明白了什麼:
Post.all
返回其保存在 實例變量@postsrespond_to
函數採用默認 「塊」的所有帖子的數組(匿名功能塊需要一個參數 「格式」- 根據請求的格式,返回相應的輸出
我不明白:
- 那如何實際工作?第8行調用一個函數
html
方法format
對象,不管通過什麼格式。html
方法有什麼作用?爲什麼每次都調用這兩種方法?他們? - 爲什麼
json
方法需要一個參數(塊調用渲染),但html
方法不需要任何參數 - ,這種功能回到什麼?它看起來像返回
json
方法的返回值。
我是ruby和rails新手,我正在開始使用示例,希望詳細瞭解每行代碼。
http:// stackoverflow。com/questions/9492362/rails-how-do-respond-block-work – rmagnum2002