18

ページにリダイレクトした後に通知を表示しようとしていますが、表示されません。

これがリダイレクトです-

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

URLにメッセージが表示されますが、アクティブなadmin内にメッセージを表示するコードがないようです。

アクティブな管理者の内部でそれをレンダリングする方法について何かアイデアはありますか?

4

2 に答える 2

29

まだ追跡していない問題があるようですが、それまでの回避策を探している場合は、これが私が行ったことです。

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

私が見ている問題は:noticeredirect_toメソッドを入力すると、通知メッセージがURLエンコードされ、URLに追加されることです。

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についてgithubにコメントを投稿しましたが、困惑しているので、誰かが別の提案をしてくれることを願っています。

いずれにせよ、おそらくこれらのソリューションの1つがあなたのために働くでしょう。幸運を。

于 2011-11-17T16:57:28.370 に答える
-4

Active Adminはフラッシュメッセージをレンダリングしません、それはそれらが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>
于 2011-10-27T17:00:03.740 に答える