在另一个控制器页面内显示错误消息

时间:2012-02-06 22:11:42

标签: ruby-on-rails

我目前正在关注Rails入门指南,包括创建包含帖子和评论模型的博客。在post show方法中,有一个表单用于创建新注释。像这样。

<%= form_for([@post, @post.comments.build]) do |f| %>
  <div class="field">
    <%= f.label :commenter %><br />
    <%= f.text_field :commenter %>
  </div>
  <div class="field">
    <%= f.label :body %><br />
    <%= f.text_area :body %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

但是,我想禁止用户在特定帖子上发布多条评论。我该怎么做呢?我一直在使用验证器,但我似乎无法绕过添加错误并在帖子#show page上显示它们。

1 个答案:

答案 0 :(得分:0)

问题实际上在我的控制器中。由于submissionsposts的嵌套资源,因此如果出现错误,我需要在调用@post之前重新设置render 'posts/show'。这是有效的,但是您会注意到,您最终会使用相应网页的/posts/4/submissions/这样的网址,而不是/posts/4