在Rails ActiveAdmin视图中添加指向Flash通知的链接

时间:2019-04-09 08:52:55

标签: ruby-on-rails ruby activeadmin

我正在尝试在Active-admin控制器的成功创建操作中在Flash消息中添加链接,但是链接的HTML被转义并在视图上显示为纯文本。

Rails 5.2.1,ruby 2.5.3p105(2018-10-18修订版65156)[x86_64-linux]

例如:如果我尝试做

flash[:success] = "Complete this quick survey. <a href='#{url}'>Click here</a>".html_safe

Flash消息显示为

"Complete this quick survey. <a href='https://www.example.com'>Click here</a>"

预期的行为:Flash消息中应该有一个正常工作的链接

1 个答案:

答案 0 :(得分:1)

达到目的的唯一方法(可能不是一个好方法)是重写activeadmin的{​​{1}}方法,该方法生成Flash消息。

https://github.com/activeadmin/activeadmin/blob/14d6e500c777e82111faafe9392d90a6efed7e0b/lib/active_admin/views/pages/base.rb#L86

这是覆盖的版本(已添加:build_flash_messages)。将此代码放在初始化程序中的某个位置。

.html_safe