【问题标题】:How to override a render to create a custom "render :my_format => argument" in rails 2.3(.5)?如何覆盖渲染以在 Rails 2.3(.5) 中创建自定义“渲染:my_format => 参数”?
【发布时间】:2010-04-13 14:24:13
【问题描述】:

我想创建标题中指定的自定义渲染。

例如,我有我的控制器:

class MyController < ApplicationController
  def index
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @objs }
    end
  end
end

,但我想要这样的东西:

class MyController < ApplicationController
  def index
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @objs }
      format.my_format  { render :my_format => @objs }
    end
  end
end

有可能吗?我需要哪些步骤才能让它工作?

提前致谢!

更新

我想要类似here 的东西。所以我用一个方法替换了@objs,但它也不起作用(没有调用该方法)。

Obs:我在 config/initializers/mime_types.rb 中注册了 mime 类型。

【问题讨论】:

    标签: ruby-on-rails format render applicationcontroller


    【解决方案1】:

    来自railsapi.com

    "如果你需要使用 MIME 类型 默认不支持,可以 注册你自己的处理程序 environment.rb 如下。”

      Mime::Type.register "image/jpg", :jpg
    

    【讨论】:

    • 假设我们已经注册了一个 mime 类型。以您的回答为例,我们可能希望在 MyController 中使用此格式选项提供动态生成的 jpg 图像:“format.jpg { render :jpg => @shapes }”。是否可以?怎么样?
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2022-01-10
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2015-06-14
    • 2012-02-16
    • 1970-01-01
    相关资源
    最近更新 更多