在ruby on rails中公开函数



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

expose(:var) {Model.find params[:var_id]}

我很清楚街区里面是什么,但是。。。

我找不到任何关于暴露函数的作用的文档,也找不到我尝试过搜索项目和使用可搜索的rails文档的任何文档。

我很想知道它的作用,有人能告诉我或给我指一下医生吗。

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

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

这是Decent Exposure宝石中的一个方法。你可以看看瑞安·贝茨在Railscasts做的电影放映。这是一颗非常棒的宝石。我在应用程序中使用它。它减少了控制器层中的大量冗余。

expose不是Rails的一部分,它来自decent_exposuregem。


这不是问题的答案。我只是想让Rails的世界变得更好一点,我希望有人能读到这篇文章。

使用expose之前请三思。只有当你100%确定你使用它的方式是正确的,并且它确实让代码变得更好时,你才应该使用它。请正确阅读文档!

我参与的一个项目变得无法维护,因为控制器中有大量的expose,它不仅取代了传递给视图的所有@instance_variables,还取代了许多业务逻辑和最有用的方法。

使用expose时,不清楚在哪些控制器操作和在哪些视图中使用它。经验丰富的开发人员在同一个expose块中为多个操作和多个视图组合数据和逻辑。这简直是一场噩梦。

相信我,如果使用不当,expose确实会破坏项目。

相关内容

  • 没有找到相关文章

最新更新