足場で作成された id 列に問題があります。次のコマンドで足場を生成しました。
rails generate scaffold scaffoldname name:string id:integer
のドロップダウンメニューに使用したい関係にその id 列を使用しましたcollection_select
。その後、Rails がテーブルごとに自動的に ID を作成するため、ID を生成する必要がないことに気付きました。
自己作成したIDで関連テーブルを呼び出したい場合、これはもちろん可能です
class.relatedClass.id
その後、テーブルでは列の名前が「rowid」になっていますが、このコマンドはレールがIDを作成したテーブルでも可能であることに気付きました。
そこで、マイグレーションで自己作成の id 列を削除できるはずだと考えました。これについて私が考えた方法は、レールはリレーションに自動的に行 ID を使用するべきだというものでした。しかし、自己作成した ID を削除すると、エラーが発生します。Rails は、scaffold コマンドで id 列が指定されていない場合は使用しますが、自動的に 'rowid' 列を使用することを拒否します。
Railsが後で呼び出したときに独自に作成されたrowidを使用する方法で、その自己作成されたid列を削除するにはどうすればよいclass.relatedClass.id
ですか?