在我的应用程序中,我有一个note
的模型,它是一个属于patient
的文本块。我试图这样做,当您导航到patient
的{{1}}时,您可以向该患者添加show
,该note
将显示在show
上1}}。我可以轻松地在seeds.rb
为患者生成笔记并将其显示在show
上,但我的问题是创建新的notes
。
我知道答案的内容将出现在create
的{{1}}方法中,尽管我不确定如何在创作时抓住notes_controller.rb
。< / p>
它会像一样
patient_id
我的问题是我实际上没有def create
@note = current_patient.notes.build(note_params)
if @note.save
#update current page? also wondering how to do this
else
flash[:alert] = "Failed"
end
end
方法而且我不确定如何制作一个方法。任何指导都会很棒。我将在下面发布一些可能相关的片段。
current_patient
patient.rb
class Patient < ActiveRecord::Base
belongs_to :owner
has_many :stays
has_many :notes
belongs_to :feed_list
validates :name,
presence: true,
length: { maximum: 50 },
uniqueness: {case_sensitive: false}
#......
end
note.rb
答案 0 :(得分:1)
首先,您可以在路由声明中包含嵌套路由:
resources :patients do
resources :notes
end
然后在notes_controller.rb
中,您可以像这样查找您的患者ID:
def create
@patient = Patient.find(params[:patient_id])
@note = @patient.notes.build(note_params)
if @note.save
#update current page? also wondering how to do this
else
flash[:alert] = "Failed"
end
end