Rails缓存保存的文件扩展名错误

时间:2013-10-10 12:15:54

标签: ruby-on-rails caching

我定义了mime类型

Mime::Type.register "text/html", :demo

和看起来像这样的控制器:

  caches_page :show
  def show
    .....
    render_location
  end

  def render_location
    ...
    respond_to do |format|
      format.html {
        expires_in 3.days, :public=>true
      }
      format.demo {
        headers['Content-type']  = 'text/html'
        render 'fields.html.erb', layout:nil
      }
      format.json do
        out = {
          :promo_text => 'text',
          :currencies => 'eee'
        }
        render json: out
      end
    end
  end

路线设置精简:

get '/prefix/*place', to: 'locations#show', as: 'location', defaults: {format:'html'}

由于某种原因,即使我请求“前缀/某个地方”,缓存文件夹中的文件也会以.demo扩展名保存

我无法理解为什么会这样。

1 个答案:

答案 0 :(得分:0)

如果自定义扩展与其他演示文稿共享Content-type,则必须使用register_alias定义自定义扩展。