1

ROR を開始したばかりで、SQLite データベース用に別のテーブルを作成しています。自動生成されたテーブル ID と外部キーに関して問題が発生しています。テーブルを作成するために、「rails generate scaffold」コマンドに続いて必要な属性を使用しました。db/migrate ディレクトリに移動し、今定義した内容を確認しました。しかし、外部キーを明示的に参照する方法がわかりません。私は Oracle の使用に慣れているので、通常は作成時の最初のステップでこのプロセスを実行し、すでに完了しています。

たとえば、ユーザー名、パスワードなどの一般的な属性を持つ users テーブルがあります。また、属性 transactionID (自動生成)、userID (これを FK にしたい)、PartNo (FK Products テーブルのキー)。私が理解していないのは、Users テーブルから自動生成されたキーを使用し、それを Orders テーブルに外部キーとして含める方法です。

また、次のようなコード行を配置すると、別の場所で読みました

t.integer user_id

私の create_orders.rb ファイルでは、これが外部キーであることを自動的に認識します!?

これはおそらく本当に簡単だと思いますが、何かが欠けています。rails を使うのはこれが初めてで、SQL 経由ですぐに外部キーを定義する必要があると思いました。どんな助けでも大歓迎です。これを理解できれば、かなりの時間を節約できます。

4

1 に答える 1

3

これを行った後、Orderモデルで aを使用belongs_to :userして関係を生成し、外部キーを利用します。

から に移動できるようにしたい場合は、1 対多になる可能性が高いため、 で実行する必要がUserあります。Orderhas_many :ordersUser

Rails のアソシエーションのドキュメントは次のとおりです。そして、ここにvsの特定のドキュメントがありますbelongs_tohas_one

于 2013-11-06T19:20:52.540 に答える