干净的方法来设计实体吐司中的通知/警报

Mik*_*ord 4 javascript ruby-on-rails erb devise materialize

我使用的设计在我的Rails应用程序和标准它配备了noticealert其具体行动渲染(例如,用户签约在)的方法.

我也在使用Materialize CSS框架,它们提供了一个很好的干净"Toast"样式通知.这是制作noticealert使用Toast 的第一种方法.

<% if notice %>
  <script type="text/javascript">
    Materialize.toast('<%= notice %>', 4000)
  </script>
<% end %>
<% if alert %>
  <script type="text/javascript">
    Materialize.toast('<%= alert %>', 4000)
  </script>
<% end %>
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供更清洁/更干的解决方案吗?感觉有点hacky.

Vla*_*lad 9

它不是"黑客"的方式,但仍然有点DRYer:

<% flash.each do |message_type, message| %>
    <%= javascript_tag "Materialize.toast('#{message}', 4000)" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)