保存重定向到操作“显示”后

时间:2013-07-23 09:21:02

标签: ruby-on-rails ruby-on-rails-3

我创建了一个应用程序,医生可以为他的病人输入治疗。我添加了一些验证,现在当医生输入错误的东西时,Rails会以某种方式重定向到患者表格并要求用户更改他的输入。但我不想要这种行为!当输入为假时,Rails根本不应该保存它并重定向到患者节目!!

这是我的控制器:

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

2 个答案:

答案 0 :(得分:1)

def create
  @patient = Patient.find(params[:patient_id])
  @treatment = @patient.treatments.new(params[:treatment])
  if @treatment.save
    redirect_to patient_path(@patient)
  else
    ## The page you want to redirect to
  end
end

答案 1 :(得分:0)

您可以通过以下方式完成:

render action: 'show'

但如果没有创建患者,我们怎样才能显示出来?您可能想要使用:

render action: 'new'

render action: 'index'