0

私はレールにかなり慣れていないので、苦労しています。ここで多くの質問を調べましたが、知識のギャップが2つと2つを組み合わせるのを本当に妨げていると思います.

このサイトは、女子ダブルス テニス リーグ用です。

これが私がこれまで行ってきたことです。いくつかのステップを戻す必要があると思います。

Rails generate scaffold を使用して、4つのモデルとビューなどを備えたコントローラーを作成しました。

モデルは次のようになります。

players:
firstname
lastname
timestamps

teams:
playerone
playertwo
timestamps

fixtures:
team1
team2
court
division
date
timestamps

results:
fixture
set1team1
set1team2
set2team1
set2team2
set3team1
set3team2
team1
team2
timestamps

ここで、チームに 2 人のプレーヤー (playerone、playertwo) がいて、各フィクスチャが 2 つのチーム (team1、team2) を持つように関連付けを作成したいと考えました。

次に、結果モデルのフィクスチャをフィクスチャ モデルのレコードに関連付けたいと考えました。

チームは 6 ゲームの 3 セットをプレーするため、結果モデルの個別のフィールドは、ゲームの各セットで各チームの結果を記録し、チームに最終スコアを与えることになります。チームがセットに勝った場合 (最初から 6 ゲームまで)、追加の 6 ポイントを獲得します。

これが私が関係で試みたことです。

class Team < ActiveRecord::Base
  has_many :players
  has_one :playerone, :class_name => "Player", :foreign_key => "player"
  has_one :playertwo, :class_name => "Player", :foreign_key => "player"
end

class Player < ActiveRecord::Base
  belongs_to :team
end

class Result < ActiveRecord::Base
  has_one :fixture
end

class Fixture < ActiveRecord::Base
  has_many :teams
end

私はレールのビューとレイアウトのコツを持っているように見えますが、強力な側面についてはまだ頭を悩ませていません。

私は多くのチュートリアルを見てきましたが、これは私を本当にイライラさせ、誰かが助けてくれることを望んでいました.

前もって感謝します。

アダム

4

1 に答える 1

0

playeroneとplayertwoの関係を定義しようとする必要はありません。チームの編集ビューでは、2つの選択があり、それぞれがプレーヤーのリストから選択します。

同じことがFixtureにも当てはまり、そこでも関係は必要ありません。実際、モデルをレイヤー化する方法との関係は今のところ必要ないと思います。適切なモデルから選択するさまざまな選択を編集ビューで作成する必要があります。

このように見ると、has_oneまたはhas_manyの2つの「has」関係があります。「has_two」または「has_three」関係があるようにアプローチします。そのような関係はありません。これらのファクトは、モデル属性にすでにハードコードされています。

于 2012-04-19T16:35:45.723 に答える