当我使用 Brakeman 的工具扫描我的代码时收到一条警告消息。它指出有对以下查询的Unscoped 调用:
@applicant = Applicant.find(params[:id])
这是实际的错误消息:
+------------+----------------------+---------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| Confidence | Class | Method | Warning Type | Message |
+------------+----------------------+---------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| Weak | ApplicantsController | show | Unscoped Find | Unscoped call to Applicant#find near line 25: Applicant.find(+params[:id]+) | |
+------------+----------------------+---------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------+
但是,当我用以下查询替换上述查询时,就可以了:
@applicant = Applicant.where("id = ?", params[:id]).first
我不明白第一个查询有什么问题。