比方说,我们在一个控制器下面自动生成的代码:哪里是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 –