Rails 自定义控制器操作有关公式(名词与动词)的良好命名约定是什么?

And*_*eis 0 convention action controller ruby-on-rails crud

在控制器中定义新操作时,我经常会问自己应该如何正确地制定操作名称。Rails 默认的 CRUD 操作似乎都遵循动词的模式(new、create、edit、update、destroy、index),但是使用名词是一个坏习惯吗?对于前。支付历史

我发现了很多描述不同文件和类的命名约定以及有关正确语法的信息,但没有关于公式部分的控制器#actions 的信息

编辑:我问的是自定义操作,而不是重命名 Rails 默认 CRUD 操作。

Hat*_*tik 6

在我看来,选择动作名称的重要之处不应该基于它是名词还是动词,动作的名称应该描述动作本身的行为,无论是计算/获取/加载/渲染/等等。这样,当另一个人(或者很长时间后的你)阅读代码时,他/她应该能够轻松理解此操作的用途以及此操作的预期结果。

否则,您可以将其命名为*whatever*,因为 ruby​​ 并不禁止您这样做。

作为例子,我们可以看一下payment_historylist_payment_history。如果我正在阅读代码并看到名为 的操作list_payment_history,我知道它列出了历史记录,即使不查看代码我也了解该操作的目的。然而,如果我看到payment_history,我只能理解它与历史有关,而不是确切的含义,它是显示历史,还是可能是排序历史、档案历史……对行动的目的没有具体的理解。