Rails - 重定向到从控制器操作渲染部分

时间:2013-02-28 18:59:37

标签: ruby-on-rails-3 controller partial-views

我正在rails中构建单页应用程序。我正在按钮点击这样在根页面中成功填充部分内容;

<div class="span12" style="margin-bottom:20px;">
            <%= link_to "Messages", "/messages", :class=>"btn btn-large btn-primary span12", :remote => true %>
</div> 

这成功呈现_index.html.erb部分。在此页面中有一个消息列表和删除它们的链接。当我删除它们时,我收到模板缺失错误,因为它正在寻找index.html.erb并在删除消息后重定向到localhost:3000/messages。这是我的销毁操作,删除邮件后将其重定向

if @message.destroy
      flash[:notice] = "Message was successfully deleted"
      redirect_to messages_path
else
      flash[:error] = "Message could not be deleted please try again"
      redirect_to messages_path
end

如何使此操作再次在_index.html.erb

中呈现localhost:3000/部分

1 个答案:

答案 0 :(得分:0)

每次删除邮件时都不应呈现索引部分。它应该只是在javascript中完成。

我认为你可以这样做:

$(".messages").on(".message .destroy-link", "ajax:success", function(data) {
    var $link = $(this);
    $link.closest(".message").remove();
})

在您的控制器中,您不会重定向到format.js的任何位置。