Ruby on rails “保存后重定向到操作”;“显示”;

Ruby on rails “保存后重定向到操作”;“显示”;,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我创建了一个应用程序,医生可以在其中输入患者的治疗信息。我添加了一些验证,现在当医生输入错误的内容时,Rails会以某种方式重定向到患者表单,并要求用户更改输入。但我不想要这种行为!当输入为false时,Rails不应该保存它并重定向到patient show 这是我的控制器: def create @patient = Patient.find(params[:patient_id]) @treatment = @patient.treatments.create(params[:tr

我创建了一个应用程序,医生可以在其中输入患者的治疗信息。我添加了一些验证,现在当医生输入错误的内容时,Rails会以某种方式重定向到患者表单,并要求用户更改输入。但我不想要这种行为!当输入为false时,Rails不应该保存它并重定向到patient show

这是我的控制器:

def create
  @patient = Patient.find(params[:patient_id])
  @treatment = @patient.treatments.create(params[:treatment])
  redirect_to patient_path(@patient)
end
我的模型是:

class Treatment < ActiveRecord::Base
  belongs_to :patient
  validates :content, presence: true
  ...
end
类处理
您可以通过以下方式完成:

render action: 'show'
但是,如果患者不是被创造出来的,我们怎么能表现出来呢?您可能需要使用:

render action: 'new'


Ok看起来不错,但如何使用动作显示定义重定向到患者路径(@patient)?哪个控制器的显示动作?病人控制员?如果是,则patient_path(@patient)已调用患者控制器的显示操作。如果写入:否则将_重定向到patient_path(@patient),如果输入错误,则重定向到patient edit!我如何才能将其更改为“患者展示”?根据您的规范,您的代码将正常工作。你能分享你的治疗控制器视图(new.html.erb)吗?
render action: 'new'
render action: 'index'