Ruby on rails 在特定操作后重定向

Ruby on rails 在特定操作后重定向,ruby-on-rails,ruby-on-rails-3,devise,ruby-on-rails-3.2,mailboxer,Ruby On Rails,Ruby On Rails 3,Devise,Ruby On Rails 3.2,Mailboxer,我在mailboxer gem上遇到了一些问题。回复和垃圾箱具体来说,邮件被回复,当选择删除时也被发送到垃圾箱,但我无法成功地将其重定向到收件箱。我总是收到错误,无法找到id为的用户以下是我的垃圾箱部件控制器代码- def trash conversation = Conversation.find(params[:id]) beta = current_userA || current_userB case beta w

我在mailboxer gem上遇到了一些问题。回复和垃圾箱具体来说,邮件被回复,当选择删除时也被发送到垃圾箱,但我无法成功地将其重定向到收件箱。我总是收到错误,无法找到id为的用户以下是我的垃圾箱部件控制器代码-

  def trash

      conversation = Conversation.find(params[:id])

      beta = current_userA || current_userB

         case beta

          when current_userA

            conversation.move_to_trash(current_userA)

            # redirect_to :conversations

          when current_userB

           conversation.move_to_trash(current_userB)

           # redirect_to :conversations

         end



    respond_to do |format|      
       format.html { redirect_to conversation_path, notice: 'Conversation successfully trashed.' }        
    end

end
日志 更新日志 将重定向_更改为对话后,将重定向_更改为对话

Started POST "/conversations/38/trash" for 127.0.0.1 at 2014-08-28 12:29:16 +0530
Processing by ConversationsController#trash as HTML
  Parameters: {"authenticity_token"=>"CuXzMKNmD87qvfOuer4uhyTdysFS/5NxtfMZU3/Y5j0=", "id"=>"38"}
  Conversation Load (0.4ms)  SELECT "conversations".* FROM "conversations" WHERE "conversations"."id" = $1 LIMIT 1  [["id", "38"]]
  Filmmaker Load (0.7ms)  SELECT "userA".* FROM "userA" WHERE "userA"."id" = 67 LIMIT 1
  Receipt Load (0.8ms)  SELECT "receipts".* FROM "receipts" INNER JOIN "notifications" ON "notifications"."id" = "receipts"."notification_id" AND "notifications"."type" IN ('Message') WHERE "notifications"."conversation_id" = 38 AND "receipts"."receiver_id" = 67 AND "receipts"."receiver_type" = 'userA'
  SQL (11.3ms)  UPDATE "receipts" SET "trashed" = 't' WHERE (id = 82 )
  User Load (29.7ms)  SELECT "users".* FROM "users" 
Completed 500 Internal Server Error in 110ms

NameError (undefined local variable or method `conversations' for #<ConversationsController:0x10961634>):
  app/controllers/conversations_controller.rb:101:in `block (2 levels) in trash'
  app/controllers/conversations_controller.rb:100:in `trash'
请告诉我我做错了什么,我已经做了一天,我还没有找到任何解决办法。不用说,userA和userB都是不同的Desive用户。欢迎对此提出任何建议。

尝试在重定向中使用路径,您可以从rake_routes获得该路径。也许下面给出的例子对你有用

respond_to do |format|
    format.html { redirect_to inbox_path, notice: 'Conversation successfully trashed.' }    
end

为什么重定向被注释掉了?具体的异常消息是什么?请复制并粘贴它?你在哪行收到错误,我不使用任何用户。在这里查找…?@Michal我明天肯定会发布错误,因为我目前无法访问我的机器。在那之前,请你把你的答案贴在我应该把用户写在哪里。查找代码我不能不看代码就给你答案。上面的代码显然不完整。@MichalSzyndel这是垃圾箱的控制器代码,请告诉我您还需要什么。@MichalSzyndel-发布操作日志
respond_to do |format|
    format.html { redirect_to inbox_path, notice: 'Conversation successfully trashed.' }    
end