表单提交后遇到Rails路由问题

时间:2012-08-17 00:09:53

标签: ruby-on-rails routing

所以我试图制作一个允许用户评论特定帖子的表单。单击提交按钮后我当前遇到了问题。该条目确实被放入数据库,但它看起来像是遇到了一些路由问题。

以下是我重定向到的网址: “本地主机: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”

由于

1 个答案:

答案 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