活动管理员 - 页面上未显示Flash消息

时间:2011-10-27 14:43:59

标签: ruby-on-rails ruby-on-rails-3.1 activeadmin

我试图在重定向到页面后显示通知,但它没有出现。

这是重定向 -

redirect_to :action => :index, :notice => "My redirect"

您可以在网址中看到该消息,但似乎活动管理员中没有任何代码可以显示该消息。

如何在主动管理中呈现它?

2 个答案:

答案 0 :(得分:27)

似乎还有一些问题我还没有找到,但如果你在寻找解决办法,那就是我所做的:

member_action :test do
  flash[:notice] = "This is a test notice!"
  redirect_to :action => :index
end

我看到的问题是,当您将:notice放入redirect_to方法时,通知邮件会进行网址编码并添加到网址

member_action :test do
  redirect_to :action => :index, :notice => "This is a test notice!"
end

结果

/admin/model?notice=This+is+a+test+notice!

这不太理想。我注意到对active_admin文档进行了更改,其中包括将{}放在redirect_to的第一个参数周围以解决此问题,但是,对我来说,这会导致错误。

member_action :test do
  redirect_to {:action => :index}, :notice => "This is a test notice!"
end

导致

syntax error, unexpected tASSOC, expecting '}'
    redirect_to {:action => :index}, :notice => "This...

我发布了对该特定拉取请求@ active_admin on github的评论,希望有人可能有另一个建议,因为我很难过。

无论如何,这些解决方案中的一种可能适合您。祝你好运。

答案 1 :(得分:-5)

Active Admin不会呈现Flash消息,它认为它们以t布局呈现呈现它们。 当您运行active_admin:install generator时,它会提到:

$ rails g active_admin:install
...
Some setup you must do manually if you haven't yet:
...
3. Ensure you have flash messages in app/views/layouts/application.html.erb. For example:

   <p class="notice"><%= notice %></p>
   <p class="alert"><%= alert %></p>