我正在尝试通过控制器将current_user.id
与@patient.medic_id
相关联。
我在我的控制器中试试这个:
def create
# @patient = Patient.new(patient_params)
@patient = current_user.patients.build(patient_params[:medic_id => current_user.id])
respond_to do |format|
if @patient.save
format.html { redirect_to @patient, notice: 'Patient was successfully created.' }
format.json { render :show, status: :created, location: @patient }
else
format.html { render :new }
format.json { render json: @patient.errors, status: :unprocessable_entity }
end
end
end
这会自动使用medic_id
在视图中填充current_user.id
,但是当我提交表单时,活动记录不会保存患者的其他参数,例如name
,{{1 }},last_name
,age
等
这是我的模型/ blood_type
(设计 - 用户)
medic.rb
这是我的模型/ class Medic < ActiveRecord::Base
has_many :patients
end
patient.rb
我需要一种方法从class Patient < ActiveRecord::Base
belongs_to :medic
end
到medic-user
视图调用所有寄存器(患者);这是最好的方法吗?
感谢您的帮助。
答案 0 :(得分:0)
要在创建患者时解决问题:
medic_id = {medic_id: current_user.id}
current_user.patients.build(patient_params.merge(medic_id))
假设您的@medic
行动中有show
,请让所有患者medic-user
:
@patients = @medic.patients
在show
视图中,您可以作为数组访问@patients
。