Ruby on rails 如何在Ruby on Rails应用程序中标记:id?

Ruby on rails 如何在Ruby on Rails应用程序中标记:id?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在构建我的第一个rails应用程序,我希望它最终会有许多模型/控制器。当然,它们每个都有一个与之关联的ID。我可以看出他们已经开始感到困惑了 在用户控制器中,该字段称为id,但在其他每个控制器中,我都将其标记为user_id。当一个控制器操作多个模型或在其他控制器中调用操作时,保持所有id的平直似乎很乏味 我只想在它们前面加上明确的前缀,但我担心这可能会导致错误,因为用户实际上没有用户id字段。这在使用诸如update_attributes!之类的东西时会出现问题 还有其他人遇到过这个问题吗

我正在构建我的第一个rails应用程序,我希望它最终会有许多模型/控制器。当然,它们每个都有一个与之关联的ID。我可以看出他们已经开始感到困惑了

在用户控制器中,该字段称为id,但在其他每个控制器中,我都将其标记为user_id。当一个控制器操作多个模型或在其他控制器中调用操作时,保持所有id的平直似乎很乏味

我只想在它们前面加上明确的前缀,但我担心这可能会导致错误,因为用户实际上没有用户id字段。这在使用诸如update_attributes!之类的东西时会出现问题

还有其他人遇到过这个问题吗?这真的是一个问题,还是我把它变成了一个比实际情况更大的问题?是否有命名id字段的标准最佳实践

谢谢!
戴夫这真的不是问题。Rails中的约定是将表的主键标记为id,将访问该表的任何外键标记为table_name_id

我建议不要改变这种默认行为,因为Rails更多的是约定而不是配置,而且随着复杂性的增加,这种命名方法确实使您的DB模式更容易理解


如果您确实决定更改主键名称,那么在使用其他人的gems和插件时,您也有可能会遇到进一步的问题。

这真的不是问题。Rails中的约定是将表的主键标记为id,将访问该表的任何外键标记为table_name_id

我建议不要改变这种默认行为,因为Rails更多的是约定而不是配置,而且随着复杂性的增加,这种命名方法确实使您的DB模式更容易理解


如果您确实决定更改主键名称,那么在使用其他人的gems和插件时也有可能遇到进一步的问题。

据我所知,id字段的最佳名称是id


我有大约30个型号的应用程序和几乎相同数量的控制器。我在一个控制器中操作了许多模型,我对id没有任何问题。如果你粘贴一些代码,也许我们可以帮你多一点。

据我所知,id字段的最佳名称是id

我有大约30个型号的应用程序和几乎相同数量的控制器。我在一个控制器中操作了许多模型,我从来没有遇到过id的问题。如果你粘贴一些代码,也许我们可以帮你多一点