2012-02-06 55 views
0

我目前正在遵循Rails入門指南,包括使用發佈和評論模型創建博客。在後期展示方法中,有一種形式可以創建新評論。像這樣。顯示另一個控制器頁面內的錯誤消息

<%= 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頁面上顯示它們。

+0

你是否已經創建了用戶模型? – 2012-02-06 22:23:05

+0

@KyleMacey是的,我有 – 2012-02-06 22:56:51

回答

0

問題實際上是在我的控制器中。由於submissions是嵌套資源posts,因此如果出現錯誤,我需要在調用render 'posts/show'之前重新設置@post。這是有效的,但是你會注意到,你最終會得到一個URL,例如/posts/4/submissions/和相應的網頁,而不是/posts/4

+1

URL是你可以通過路線按摩的東西。默認情況下,它會盡量保持安靜,特別是對於嵌套模型。你可以設置一個路由,比如:match「posts /:id」=>「controllerHere#actionHere」,:as =>「some_custom_name_so_no_confusion」,然後確保將它放在路由中的'resources:posts'之前文件 – MunkiPhD 2012-02-16 02:51:21

相關問題