【发布时间】:2013-01-21 13:48:36
【问题描述】:
我有 2 个模型 - 项目和审查。项目 has_many review 和 Review belongs_to Project。当我打开项目(show REST 操作)时,我可以为其添加评论。但是从表单接受数据并保存的控制器在项目上是不同的(在ProjectsController中显示动作,在ReviewsController中创建Review动作)。
问题是我不明白 Review 模型是如何呈现错误的。如果我有 1 个控制器,我会这样做:
if @project.save
respond_to do |format|
format.js
format.html {redirect_to :back, :notice => I18n.t("activerecord.attributes.project.added")}
end
else
render :action => :show
end
Rails 会在每个有错误的表单字段下呈现错误消息。不接受 Flash 消息。
【问题讨论】:
-
嗨!是评论控制器中的代码吗?如果是,那不应该是
@review.save吗? -
不,它只是示例。当然在评论控制器@review.save
-
对不起,我还是没有得到你想要的。您可能需要添加更多详细信息。
-
什么样的细节? 2 个模型,2 个控制器。如果我提交带有无效数据的评论创建表单,他们将创建评论控制器的操作。如果模型有验证错误,我应该渲染或重定向什么?
标签: ruby-on-rails ruby model-view-controller model