比方說,我們在一個控制器下面自動生成的代碼:哪裏是Ruby文檔對於MIME :: HTML
def update
respond_to do |format|
if @person.update(person_params)
format.html { redirect_to @person, notice: 'Person was successfully updated.' }
format.json { render :show, status: :ok, location: @person }
else
format.html { render :edit }
format.json { render json: @person.errors, status: :unprocessable_entity }
end
end
end
,並讓說我不夠好奇地想知道是什麼物體format
返回以便知道調用的對象是json
還是html
。文件在哪裏回答這些簡單的問題?
我試過ri format
,並得到這個(其中包括):
Returns the MIME type for the format used in the request.
GET /posts/5.xml | request.format => Mime::XML
GET /posts/5.xhtml | request.format => Mime::HTML
GET /posts/5 | request.format => Mime::HTML or MIME::JS, or request.accepts.first
如果我做ri Mime::HTML
,我得到這個:
Nothing known about Mime::HTML
但有文檔Mime::Type
(我認爲這是上面返回的是format
),它聲明這個類有一個實例方法,method_missing
,我想這是我們在做format.html
或format.json
時調用的。我想知道的是:如果我對method_missing
備用技巧是正確的,那麼爲什麼沒有Mime::HTML.method_missing
的文檔例如?爲什麼在第一個地方沒有Mime::HTML
或Mime::XML
的文檔?換句話說,Mime::HTML
或Mime::XML
和Mime:Type
之間的關係是什麼?
另一個資源是在這裏:http://api.rubyonrails.org/classes/Mime/Type.html –