0

いくつかのモデルとそれらの間の関係シップを持つレールアプリを構築するときに、理解しようとしている問題があります...

モデル グループ、モデル ユーザー、モデル カーなどの基本的な例を挙げると、

class Group < ActiveRecord::Base
   has_many :users
end 
class User < ActiveRecord::Base
  belongs_to :group
  has_many :cars
end 
class Car < ActiveRecord::Base
  belongs_to :user
end

これらのリレーションシップ ステートメントは、次の関数を自動的に作成しますか。

  • グループ.ユーザー
  • ユーザー・グループ
  • ユーザー.車
  • 車のユーザー

移行で「参照」を作成する必要がある場合があるようですが (User in Car テーブルへの参照を追加するなど)、これは常に必要ですか? この場合、移行を作成することと、モデルに関係ステートメントを追加することの違いは何ですか? これが同じ目的で使用されていると感じることがあります。

ご協力ありがとうございました。

よろしく、

リュック

4

1 に答える 1

2

アソシエーション宣言は、Railsにのみ存在します。Railsがデータを適切に保存できるように、データベースで外部キー(参照)を定義する必要があります。

すべての魔法にもかかわらず、それはまだリレーショナルデータベースに支えられているので、そこにある良い習慣は長期的には報われることを忘れないでください。

于 2011-03-15T22:27:20.470 に答える