2014-06-06 56 views
0

比方說,我們在一個控制器下面自動生成的代碼:哪裏是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.htmlformat.json時調用的。我想知道的是:如果我對method_missing備用技巧是正確的,那麼爲什麼沒有Mime::HTML.method_missing的文檔例如?爲什麼在第一個地方沒有Mime::HTMLMime::XML的文檔?換句話說,Mime::HTMLMime::XMLMime:Type之間的關係是什麼?

回答