1

タイトルは別として、Rails の専門家にとって私の質問は簡単だと思います。

Railsアプリをできる限り正規化しようとしています。"Users" という名前のテーブルの代わりに、"Users"、"Studios"、"Musicians" の 3 つのテーブルがあります。Studios と Musician はユーザーですが、(belongs_to) と Users は 1 つの Studio と 1 つの Musician を持つことができます (両方とも has_one)。

ここまでは順調ですが、「ユーザー」が「ミュージシャン」列を編集できるようにするにはどうすればよいですか?

どのコントローラーでそれを行う必要がありますか?

「役作りませんか?」と聞く前に。まあ、ミュージシャンにはスタジオにはない多くの属性があり、その逆も同様です。

Studios に "Rooms" (Studio has_many Rooms) を作成させ、"Rooms" に "Appointments" (room has_many の予定) を作成させ、最終的に、Users が Appointments (Users has_many) を作成できるようにするため、この知識は私のアプリケーションにとって重要です。

構造を作成する方法と、それがコントローラーでどのようになるかわかりません。誰かが私を助けることができれば、それは素晴らしいことです. Ruby 2.0 と Rails 4.0 を使用しています。前もって感謝します

4

1 に答える 1

3

ユーザーとミュージシャンの間には has_one と belongs_to があるため、ユーザー オブジェクトに関連付けられたミュージシャン オブジェクトにいつでも直接アクセスして、それに応じて編集することができます。例えば ​​:

last_created_user = User.last
musician = last_created_user.musician

すべてのユーザーがミュージシャンを持っている場合、対応するミュージシャンが見つからない場合は nil を返します。スタジオも同様に機能します。それがレールの美しさです:)

PS: 単なる好奇心です。あなたは実際にミュージシャンですか? ;)

于 2013-09-20T16:28:16.090 に答える