2014-02-22 84 views
0

我正在尝试重定向到答案路径。无法重定向到路径?

创建评论后,我有这样的路径

class CommentsController < ApplicationController 
    def create 
     @question = Question.find(params[:question_id]) 
     @answer = Answer.find(params[:answer_id]) 
     @comment = @answer.comments.new(params[:comment]) 
     @comment.writer = current_user.username 
     @comment.save 
      redirect_to question_answer_url 
    end 
end 

不过,我得到没有路由匹配{:动作=> “秀”,:控制器=> “答案”}。不过,我肯定有我的答案控制器这种方法

def show 
    @question = Question.find(params[:question_id]) 
    @answer = Answer.find(params[:id]) 
    @comment = @answer.comments.new(params[:comment]) 
end 

我也尝试redirect_to的question_answer_path([@问题,@answer]),但不工作或者作为它说没有路由匹配(我假设也许这是太多的信息?)。 >答案 - - >注释

我不知道为什么我的重定向不工作

比如他们去如下问题我嵌套我的资源,我的路线。

回答

1

您需要重定向到的路径,而不阵列括号:

redirect_to question_answer_path(@question,@answer) 
+0

真棒,谢谢!在控制器中重定向和在视图中重定向有什么区别?当我在视图中使用上述格式时,我不会存在这样的路由。我必须使用question_answer_path([@ question,@answer]),即使如此,我也得到了所有重定向的相同answer_id。 – user3340037

+0

在您重定向的控制器中,在您链接的视图中。重定向发生在渲染视图之前。视图渲染完成后,您需要可点击的对象。您可以输入 <%= link_to“您的链接文字”,question_answer_path(@ question,@ answer)%> –