我刚刚开始使用rails 3应用程序,它具有父模型和子模型(父has_many:children).
我正在尝试进行设置,以便在创建新父级之后,用户将被带到该父级的显示操作(/ parent/id).在这个视图中,我包括部分显示任何孩子和表单来创建一个新孩子.创建新子项后,用户将被重定向到将显示新子项的父项的show操作.这一切都按预期工作.
但是,如果我尝试验证新子窗体中的字段,则出现的任何错误消息都不会出现在窗体中(视图中的必要行是正确的 - 从生成的脚手架代码中剪切并粘贴).有没有办法将孩子的这些错误消息成功传递给父节目动作?
以下是相关代码的片段;
从我的父控制器:
def show
@parent = Parent.find(params[:id])
@child = @parent.children.new
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @admission }
end
end
Run Code Online (Sandbox Code Playgroud)
从我的孩子控制器:
def create
@child = Child.new(params[:parent])
respond_to do |format|
if @child.save
format.html { redirect_to(parent_path(params[:child][:parent_id]), :notice => 'Child was successfully created.') }
#This works as intended
format.xml { render :xml => @child, :status => :created, :location => @child }
else
format.html { redirect_to parent_path(params[:child][:patient_id]) }
#This redirects where I …Run Code Online (Sandbox Code Playgroud)