【发布时间】:2010-09-12 04:36:43
【问题描述】:
我有以下模型类:
class Upload < ActiveRecord::Base
...
has_many :reviews, :order => "created_at DESC"
...
end
class Review < ActiveRecord::Base
...
belongs_to :upload
belongs_to :user
validates_presence_of :description
...
end
我的上传/显示视图有一个表格,用于捕获特定上传的评论:
<% form_for(@review) do |f| %>
<%= f.error_messages %>
...
<p>
<%= f.text_area :description, :rows => 5, :cols => 80 %>
</p>
...
<p>
<%= f.submit 'Submit Review' %>
</p>
<% end %>
当评论验证失败时,如何在上传/显示视图的评论表单中显示错误消息?
我的 ReviewController 会这样做:
定义创建 @review = current_user.reviews.new(params[:review])
if @review.save
flash[:notice] = 'Review was successfully created.'
redirect_to( @review.upload )
else
render :action => :new
end
结束
显然render :action => :new 不起作用,因为我需要显示 UploadsController 的显示操作,而不是 ReviewController 的新操作。
我很确定有一个简单的方法可以做到这一点,我就是想不通!
【问题讨论】:
标签: ruby-on-rails forms