私は医療アプリケーションに取り組んでいます。その中には、ユーザーとクライアントの間の関連付け(明らかに)、およびユーザーと処理の間の関連付け、およびユーザーと設定(設定テーブルの場合)があります。
ただし、ここで注意が必要なのは、クライアントも治療テーブルに関連付けられている必要があることです。これは、クライアントが治療を記録しているためです。ユーザーは、上記のすべてを管理するユーザーです。また、クライアントに関連付けられている患者がいるため、多層化する必要があります。したがって、所有者には患者もいるクライアントがいます。そして、患者はクライアントや所有者と同じように治療を受けます。
それは私には本当に複雑に思えます、そして私はユーザーが働くことを超えて何かを得るのに苦労しています。私はRailsの基本的な関係設定を使用しています(私はRailsについてほとんど知りません)。createメソッドで@treatment.user= current_userを使用し、必要なテーブルをuser_idに関連付けるだけです。client_idを処理テーブルに配置しましたが、機能しませんか?
ポリモーフィックな関連付けが必要ですか(それが何であるかはわかりません)?または、このすべてのマッチングを行うために個別のテーブルが必要ですか?
ありがとう。
コード:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation,
:remember_me, :role
validates :email, presence: true
has_many :clients
has_many :settings
has_many :treatments
ROLES = %w[admin receptionist practitioner]
def role_symbols
[role.to_sym]
end
def to_s
email
end
end