私は何年もシェルスクリプティングをやっていた初心者のプログラマーですが、最近はRubyを使ったOOPプログラミングに取り組み、Railsアプリケーションを作成しています。Usng Rails ActiveRecordの関係
私は定義されたモデル関係をどのように使用するかについて頭を悩ませています。
私はGoogleを検索しようとしましたが、私が思いつくことができるのは、基本的にはhas_many、belongs_toなどの意味のカンニングシートです。 このようなことは、特に私がSQLで直接多くの作業を行ってきたので、わかりやすいように&を理解しています。
私が理解していないのは、定義された関係をどのように実際に使用するかです。
私の場合は私は3つのモデルがあります: 場所 ホスト サービス
を関係(実際のないコード、それを短縮するための):私のことができるようにしたい。この場合
Services
belongs_to :hosts
Hosts
has_many :services
belongs_to :locations
Locations
has_many :hosts
サービスで作業中に場所から列を表示します。 SQLではこれは単純な結合ですが、Rails/Rubyのやり方で行いたいし、コード内でSQLを使用したり、結合を再定義したりしたくない。
さらに、セスは、適切に複数化される必要がある関係について正しいです。また、Locationのクエリはおそらく 'first'とは異なるでしょうが、それがどのように達成されるかを示す良い例です。 –
参加テーブルが各所有サイドに属していないため、Has_many throughは機能しません。 – sethvargo
該当しません。それは動作します。 SELECT "services"。* FROM "サービス" INNER JOIN "hosts" ON "services" .host_id = "hosts" .id WHERE( "" hosts ".location_id = 1)) –