我有一个使用脚手架创建的 id 列的问题。我使用以下命令生成了一个脚手架:
rails generate scaffold scaffoldname name:string id:integer
我将该 id 列用于我想用于下拉菜单的关系collection_select
。后来我意识到生成 id 是不必要的,因为 rails 会为每个表自动创建 id。
当我想用自己创建的 id 调用相关表时,当然可以使用
class.relatedClass.id
后来我意识到这个命令也可以在rails创建id的表中使用,尽管该列在表中被命名为“rowid”。
所以我认为应该可以通过迁移删除自己创建的 id 列。我的想法是,rails 应该自动使用关系的rowid。但是删除自己创建的id后,到处都是错误。Rails 拒绝自动使用 'rowid' 列,尽管它会在脚手架命令中没有指定 id 列的情况下这样做。
如何在调用时以 Rails 使用自己创建的 rowid 的方式删除该自创建的 id 列class.relatedClass.id
?