Ruby 索引操作不显示flash通知

Ruby 索引操作不显示flash通知,ruby,ruby-on-rails-3,ruby-on-rails-3.2,routing,controllers,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,Routing,Controllers,我有一个具有破坏功能的跟踪控制器。我试图将销毁操作重定向到销毁时的索引,因为所有这些跟踪器都显示在索引中的汇总表中 在我的销毁操作中,当我重定向到tracker_url时,我的flash通知正确显示。但是URL有id(它应该有) 当我使用重定向到下面的方法重定向到索引时,它会在url中显示flash通知,但不会在消息中显示flash通知 redirect_to :action => index, :notice => "Tracker Disabled!" redirects wit

我有一个具有破坏功能的跟踪控制器。我试图将销毁操作重定向到销毁时的索引,因为所有这些跟踪器都显示在索引中的汇总表中

在我的销毁操作中,当我重定向到tracker_url时,我的flash通知正确显示。但是URL有id(它应该有)

当我使用重定向到下面的方法重定向到索引时,它会在url中显示flash通知,但不会在消息中显示flash通知

redirect_to :action => index, :notice => "Tracker Disabled!"
redirects without the flash notice
/trackers?notice=Tracker+Disabled%21
为了调试,我复制了index.html.erb和show.html.erb中的代码,使它们完全相同,并且仍然将flash通知作为url的一部分,即使它们都在同一个位置上呈现消息。邮件的部分内容位于layouts/messages文件夹中

<%= render 'layouts/messages' %>
从我的开发日志中,这里是重定向后的帖子

SHOW
已重定向到/trackers/1 在19毫秒内完成302次(ActiveRecord:13.8毫秒)

2013年9月14日11:06:06-0500开始为127.0.0.1获取“/trackers/1” TrackersController处理#显示为HTML 参数:{“id”=>“1”}

已重定向到/跟踪器?注意=跟踪器+已禁用%21 在19毫秒内完成302次(ActiveRecord:13.5毫秒)

2013年9月14日11:06:51-0500,127.0.0.1开始获取“/跟踪器?通知=跟踪器+禁用%21” TrackersController#索引为HTML进行处理 参数:{“注意”=>“已禁用跟踪器!”}

此行有问题

redirect_to :action => index, :notice => "Tracker Disabled!"
注意部分变成代码中#index的参数,而不是
重定向到
的参数

若要修复,请使用命名路径。假设您的索引页路径是
跟踪器\u path
,则

redirect_to trackers_path, :notice => "Tracker Disabled!"

在特定控制器的上下文中,通常不需要重述要重定向到的整个路径。在这种情况下,将路径散列与选项区分开来将完成以下任务:
redirect_to({:action=>index},:notice=>“Tracker Disabled!”)
INDEX
redirect_to :action => index, :notice => "Tracker Disabled!"
redirect_to trackers_path, :notice => "Tracker Disabled!"