我有这样的代码:
def show
@attachment = Attachment.find(params[:id])
respond_to do |format|
format.html
end
end
此代码允许响应 json,但不呈现任何内容。如何在除 html 之外的任何其他请求上显示自定义页面?
我有这样的代码:
def show
@attachment = Attachment.find(params[:id])
respond_to do |format|
format.html
end
end
此代码允许响应 json,但不呈现任何内容。如何在除 html 之外的任何其他请求上显示自定义页面?
尝试:
before_filter do
render text: 'Wrong type', status: 406 unless request.format == Mime::HTML
end
当您在 config/routes.rb 中定义它们时,您可以限制它们的格式
scope :format => true, :constraints => {:format => :html} do
resources :attachments
end
定义要在该范围内限制其格式的所有路由。
您可以format.any
用于除 html 之外的任何其他请求:
def show
@attachment = Attachment.find(params[:id])
respond_to do |format|
format.html { render text: => 'This is html' }
format.any { render :text => "Only html is supported" }
end
end