gis*_*esh 5 ruby ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)
Flash 消息显示为,
"Complete this quick survey. <a href='https://www.example.com'>Click here</a>"
Run Code Online (Sandbox Code Playgroud)
预期行为:Flash 消息中应该有一个工作链接
实现您的目的的唯一方法(可能不是一个好方法)是覆盖生成 Flash 消息activeadmin的:build_flash_messages方法。
这是覆盖版本(已添加.html_safe)。将此代码放在初始化程序中的某处。
class ActiveAdmin::Views::Pages::Base
def build_flash_messages
div class: 'flashes' do
flash_messages.each do |type, message|
div message.html_safe, class: "flash flash_#{type}"
end
end
end
end
Run Code Online (Sandbox Code Playgroud)