[英]the ruby source code generated by rails
我是紅寶石和鐵軌的新手。
按照ror文檔中的指南,我創建博客應用程序。
但是,當我看到生成的代碼時,例如發現我無法理解它們:
def show
@post = Post.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @post }
end
end
repond_to是一個方法(不是嗎?),下面的塊是參數嗎?
但是,該塊內部的代碼是什么意思?
format.html # show.html.erb
format.json { render json: @post }
format.html是方法的名稱還是其他名稱?
和{ render json: @post }
>怎么樣?
respond_to
方法可幫助您以請求的格式交付內容。 例如,如果調用/posts/1.json
,則響應將是JSON文件。 如果是/posts/1.html
,則響應將是HTML頁面。 沒有提供擴展名時的默認值是呈現HTML。
format.json
方法告訴Rails在請求該擴展名時該怎么做,例如,如果您想為每個JSON請求增加一個計數器,而不是為HTML請求增加計數器,則可以執行以下操作:
format.json {
counter = counter + 1
render json: @post
}
如果不為format.json
方法提供塊,Rails會自動嘗試在views/posts/
查找show.json.erb
文件,然后進行渲染。 在您提供的方法中, render json: @post
告訴Rails立即渲染它,而不是尋找文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.