2017-05-14 7 views
0

私の特定のユースケースは、業界のセットリストです。すべてのアカウントには業界があります。それは1つだけ持つことができます。標準的なアプローチは、テーブルを追加し、モデルを追加し、accountsテーブルに外部キーindustry_idを使用することだと思います。CRUDのないRailsでどのようにリソースをモデル化しますか?そのためにAttributes APIをどのように使用しますか?

業界はCRUDリソースではないので、私はAttributes APIを使いたいと思っていました。私は、産業の種類を使用して、Railsのドキュメントに従ってみましたが、これは私にIDを与えていないのですか? attribute :industryをデータベースのindustry_id列と共に使用するにはどうすればよいですか?

私はちょっと混乱しているAPIを見つけました。それをより良く理解する助けに感謝します。

+0

アカウントには複数の業界がありますか? – hashrocket

+0

@hashrocket nope。今私は文字列として産業を持っていますし、一定のアカウント:: INDUSTRIESは検証の可能性の配列ですが、それはそれを行う最良の方法ではないと思います。 – rPat

答えて

0

私が正しく理解している場合は、アカウントと業界の関連付けを作成することをお勧めします。まず、あなたの業界のモデルを生成します。

rails g model Industry 

その後、あなたのアカウントのモデルを生成します。

rails g model Account industry:references 

industry:referencesはあなたのアカウントテーブルのindustry_id列を与えます。アカウントの業種を取得するにはaccount.industryに電話することができますが、industry.accountではできません。あなたがindustry.accountを呼び出し、業界のアカウントを取得することができるようにしたい場合は、業界のテーブルにACCOUNT_IDを追加するために、別の移行を実行する必要があります:

rails g migration add_account_id_to_industry account:references 

これは、あなたのテーブルにACCOUNT_ID列を追加します。今すぐindustry.accountに電話して、業界のアカウントを受け取ることもできます。

これらのいずれもCRUD機能を提供しません。彼らはモデルとテーブルを作成するだけです。

関連する問題