所以我试图制作一个允许用户评论特定帖子的表单。单击提交按钮后我当前遇到了问题。该条目确实被放入数据库,但它看起来像是遇到了一些路由问题。
以下是我重定向到的网址: “本地主机:3000 /组/ 13 /帖/ 62 /评论”
提交后我收到以下错误:
没有路线匹配{:action =>“show”,:controller =>“groups”}
我跑了rake路线找到这个:
group GET /groups/:id(.:format) groups#show
这是我的评论控制器:
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment].merge({:user_id => current_user.id}))
redirect_to :action => :show, :controller => :groups
end
end
以下是我的评论表格:
<%= form_for([post.group, post, post.comments.build]) do |f| %>
<p>
<%= f.label :comment %><br />
<%= f.text_area :body, :rows => 3, :cols => 55 %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
有没有人有任何想法可能出错?为什么要重定向到网址“localhost:3000 / groups / 13 / posts / 62 / comments”
由于
答案 0 :(得分:1)
我愿意:
class CommentsController < ApplicationController
respond_to :html
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment]) do |comment|
comment.user = current_user # user_id shouldn't be an attr_accessible
end
respond_with @comment, location: group_path(@post.group)
end