ruby-on-rails - 符号声明中的presents是什么意思?
问题描述
我正在研究一些 Ruby on Rails 代码,发现了几个用 Presents 声明的符号,如下所示...
class MembersPresenter < Gitlab::View::Presenter::Delegated
include Enumerable
presents :members
def to_ary
to_a
end
def each
members.each do |member|
yield member.present(current_user: current_user)
end
end
end
这是什么意思?
解决方案
我不确定我是否理解你的问题。如果不是,请详细说明您不清楚的地方。
在第 4 行
presents :members
有对presents
类方法的方法调用,符号:members
是该方法的参数。
在第 12 行
yield member.present(current_user: current_user)
present
每个 都有调用的方法member
。该方法的参数中的哈希current_user: current_user
。
这意味着什么?
嗯,类方法显然需要一个符号(很可能它也会理解一个字符串)并使用它来构建或配置演示者。并且present
实例方法需要了解当前用户,并且该方法期望当前用户以选项散列或kwarg的形式提供。
这真正意味着什么完全取决于代码库以及方法对这些参数的作用。
推荐阅读
- jquery - 使用jQuery在本地存储中存储为数组
- c# - ASP.Net C#中文本框中的文件下载链接
- ios - Flutter :- 使用 flutter run iOS 命令构建 iOS 应用程序失败。** 构建失败 **
- reactjs - 如何自定义 TextField 的边距、内边距和字体大小
- amazon-web-services - 如何将 AWS 无服务器应用程序项目更改为仅部署为 lambda 函数?(无API网关和云形成)
- postgresql - 优化触发器写入数仓数据
- c# - 哪种数据库连接更适合 Asp.net 的初学者?
- c++ - 如何为包含 shared_ptr 的类创建复制构造函数/赋值运算符?C++
- npm - 如何将 npm 更新到最新版本?
- javascript - 如何使用 ExpressJS 发出查询请求