在轨道上的红宝石中暴露功能

aus*_*nbv 14 ruby-on-rails-3

我正在看一个rails应用程序,并且在每个控制器的顶部都有一段看起来像这样的代码

expose(:var) {Model.find params[:var_id]}
Run Code Online (Sandbox Code Playgroud)

我明白块里面的东西很好,但......

我找不到任何关于expose函数的来源的文档,或者我尝试搜索项目和使用可搜索的rails文档的任何文档.

我很想知道它的作用,有人可以告诉我或指向我的文档.

nee*_*zer 24

这可能是引用decent_exposuregem.您可以在此处了解更多信息:http://railscasts.com/episodes/259-decent-exposure

资料来源:https://github.com/voxdolo/decent_exposure


Kyl*_*cot 7

这是Decent Exposure gem 的一种方法.你可以看看Ryan Bates在Railscasts上做过的截屏视频.这是一个非常棒的宝石.我在我的应用程序中使用它.它减少了控制器层中的大量冗余.