2014-06-06 29 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之间的关系是什么?

回答