我正在遍历Rails 5 Test Prescriptions中的示例项目-构建健康的代码库(出版日期:2018年),并遇到此方法:
SELECT
RB.CustomerId AS ID, C.FullName AS 'FULL NAME',
C.PhoneNumber AS 'PHONE NUMBER',
COUNT(RB.CustomerId) AS BOOKS
FROM
RentedBooks RB
JOIN
Customers C ON RB.CustomerId = C.Id
GROUP BY
C.FullName, C.PhoneNumber, RB.CustomerId;
语法对我来说真的很奇怪,因为我刚学习Ruby&Rails超过一个月。.任何提示我指向应该阅读的地方的提示都将非常感谢
答案 0 :(得分:1)
&
用于将块作为方法传递给方法(也使用参数列表中的另一种方法将隐式块作为参数),它对传递的对象隐式调用to_proc
。
Symbol#to_proc
for :symbol
产生proc{|param| param.symbol }
所以您的代码等于tasks.all?{|task| task.complete? }