【发布时间】:2017-08-31 13:29:02
【问题描述】:
我有两种模型:一种用于患者,另一种用于转诊请求。我创建了两种表格——一种允许用户创建新患者,另一种允许用户创建转诊请求。一个患者可以有许多转诊请求,并且一个转诊请求将属于创建它的用户以及为其创建它的患者。
我无法弄清楚如何将这些表格链接在一起,从而在患者和用户为他们创建的转诊请求之间建立关联。我想我必须在新的或创建推荐请求控制器的操作中添加一些东西,但我无法得到任何我尝试过的东西。
对新手的任何帮助表示赞赏!
患者控制者:
class PatientsController < ApplicationController
def new
@patient = current_user.patients.build
end
def create
@patient = current_user.patients.build(patient_params)
if @patient.save
flash[:success] = "Patient Created!"
redirect_to '/referral_requests/new'
else
Rails.logger.info(@patient.errors.inspect)
render 'patients/new'
end
end
private
def patient_params
params.require(:patient).permit(:age, :user_id, insurance_ids: [], gender_ids: [], concern_ids: [], race_ids: [])
end
end
推荐请求控制器:
class ReferralRequestsController < ApplicationController
before_action :logged_in_user, only: [:show, :index, :new, :create, :edit, :update, :destroy]
def index
if logged_in?
@referral_request = current_user.referral_requests.build
@feed_items = current_user.feed.paginate(page: params[:page])
else
@feed_items =[]
end
end
def create
@referral_request = current_user.referral_requests.build(referral_request_params)
if @referral_request.save
flash[:success] = "Referral Request Created!"
render 'referral_requests/index'
else
Rails.logger.info(@referral_request.errors.inspect)
@feed_items = []
render 'static_pages/home'
end
end
def destroy
end
def new
@referral_request = current_user.referral_requests.build if logged_in?
end
private
def referral_request_params
params.require(:referral_request).permit(:content, concern_ids: [],
insurance_ids: [], race_ids: [], language_ids: [], gender_ids: [])
end
end
【问题讨论】:
标签: ruby-on-rails forms controllers