Ruby on rails Rail3自定义渲染器:将此代码放在何处?

Ruby on rails Rail3自定义渲染器:将此代码放在何处?,ruby-on-rails,ruby,ruby-on-rails-3,formatter,renderer,Ruby On Rails,Ruby,Ruby On Rails 3,Formatter,Renderer,根据这篇文章,我将介绍Yehuda关于如何为Rails 3构建自定义渲染器的示例: 我已经让我的代码工作了,但是我很难弄清楚这个代码应该放在哪里。现在,我的代码就卡在我的控制器文件中。这样做,一切正常。但是,当我将代码移动到lib文件夹时,我在需要渲染器的控制器中显式地“需要”我的文件,否则它将无法工作。是的,文件位于lib文件夹中时会自动加载。但是,添加渲染器的代码由于某种原因无法工作,直到我对它做了一个要求 我应该把我的代码放在哪里来添加渲染器和mime类型,这样rails 3就可以为我获取

根据这篇文章,我将介绍Yehuda关于如何为Rails 3构建自定义渲染器的示例:

我已经让我的代码工作了,但是我很难弄清楚这个代码应该放在哪里。现在,我的代码就卡在我的控制器文件中。这样做,一切正常。但是,当我将代码移动到lib文件夹时,我在需要渲染器的控制器中显式地“需要”我的文件,否则它将无法工作。是的,文件位于lib文件夹中时会自动加载。但是,添加渲染器的代码由于某种原因无法工作,直到我对它做了一个要求


我应该把我的代码放在哪里来添加渲染器和mime类型,这样rails 3就可以为我获取并注册它,而不需要我在控制器中手动要求文件?

我会把它放在初始值设定项中,或者放在lib中并要求它在应用程序控制器中。

在Jose Valim的书中,这是第一章。他使用Prawn创建了一个PDF mime类型和渲染器

在他的示例中,他使用以下内容创建了
lib/pdf_renderer.rb

require "action_controller" 
Mime::Type.register "application/pdf", :pdf
由于
lib
不再自动加载,因此您必须自动加载
lib
,或者在想要使用该文件的地方特别需要该文件


初始值设定项在这里可能也很合适。

根据这里的建议,我在这方面做了更多的研究

我发现我们的代码库中已经有一个“mime_类型”初始值设定项。我认为这是rails默认创建的。里面有几个注释掉的例子。因此,我将自定义mime类型添加到此文件中

我还决定为自定义渲染器使用一个初始值设定项,以便自动加载并与应用程序一起使用。这样我就不必记得把它放在我需要它的地方。我可以只响应我创建的格式,然后向下发送数据

谢谢大家提供的提示。

仅供参考: