2012-03-03 8 views
1

私はRuby on Railsアプリケーションで設定しようとしています(警告:私は初心者です)"シンプル"ルックアップのためのRuby on Railsのモデルアソシエーションの種類は?

私は、サポートレベルの違いによって、金など)、そのサポートタイプがカバーするもの(24時間365日、営業日のみなど)に関する詳細が記載されています。

基本的な顧客情報データをすべて含むクライアントモデルがあります。

クライアントをサポートタイプに関連付ける必要があります(クライアント・ジョーンズはゴールドレベルのサポートを備えていますが、この関係を設定するための「適切な」方法を理解できません)。この場合、「has_many」または「has_one」のいずれも適用されないようです。

すべてのクライアントの詳細とサポートパラメータを1つのビューで表示できるようにするにはどうすればよいですか?

TIA!

+0

クライアントは、銀、金など – coletrain

答えて

3
class Client < ActiveRecord::Base 
    belongs_to :support_type 
end 

class SupportType < ActiveRecord::Base 
    has_many :clients 
end 

あなたはa_client.support_typeとクライアントのサポートタイプにアクセスし、あなたがあるため、その場合Rails aspects to find a client_id in the support_types DB tableにクライアントモデルでhas_oneのを使用することはできませんgold_support.clients

で金支援型を有するすべてのクライアントを見ることができるこの方法とそうではありません多くのクライアントが同じSupportTypeを持つことができるので、私がよく理解している場合です。

PS:あなたの顧客にsupport_type_id列を追加することを忘れないでくださいDBテーブル

+1

完璧な答えとフォローしやすいを持っている可能性があり、次のような方法のセットアップに多くの団体に多くを使用してください。ありがとうございました。 – CBGrey

+1

support_type_id以外の名前の外部キーがある場合、 ':belongs_to:support_type、:foreign_key =>" foreign_key_id "'と書くことができます – Arosboro

関連する問題