我使用rails-toastr gem(Rails 5.0.0.1),我想在烤面包机上添加一个关闭按钮。
我关注了instructions,并在toastr.css
中添加了toastr.js
和application.html.erb
的链接。然后我分别在app/assets/stylesheets
和app/assets/javascripts
下创建了两个文件,后者我添加了一行:
toastr.options.closeButton = true;
但是烤面包机不会出现。
我在application_helper.rb
中使用此方法(我在application.html.erb
中调用):
def custom_bootstrap_flash
flash_messages = []
flash.each do |type, message|
type = 'success' if type == 'notice'
type = 'error' if type == 'alert'
text = "<script>toastr.#{type}('#{message}');</script>"
flash_messages << text.html_safe if message
end
flash_messages.join("\n").html_safe
end
但没有这两个资产,这样可以正常工作(但当然没有关闭按钮)。
有什么想法吗?
答案 0 :(得分:1)
如果要在特定页面上使用其他选项,则将选项放置在application.js文件或特定js / coffee文件中。
application.js
...
//= require toastr
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
找到{@ 3}的烤面包机选项的完整列表。只需运行演示,就会有一个输出文件,显示您选择的选项。
答案 1 :(得分:0)
我不知道,但看起来CodeSeven/toastr已过时,不再维护。
我遇到了和你一样的问题,但我通过使用另一个toastr gem来解决这个问题,这个问题目前已经完全正常,可以看到&#34;&#34; toastr选项。我希望它能帮助你或任何其他会遇到这类问题的人。
答案 2 :(得分:0)
从不使用此方法,使用html_safe
是一个安全问题,rubocop
会抱怨您的代码,即:
app/helpers/application_helper.rb:10:30: C: Rails/OutputSafety: Tagging a string as html safe may be a security risk.
flash_messages << text.html_safe if message
请按照以下步骤操作:
添加帮助:
module FooHelper
def toastr_flash_class(type)
case type
when "alert"
"toastr.error"
when "notice"
"toastr.success"
else
"toastr.info"
end
end
end
创建部分,例如_toaster.html.erb
<%= content_tag(:script) do %>
<% flash.each do |type, message| %>
<%= toastr_flash_class("#{type}") %>('<%= message %>')
<% end %>
<% end %>
从您的布局或您的观点中调用您的部分:
<%= render 'layouts/shared/toastr' %>
答案 3 :(得分:0)
由于this Upwork freelancer,我们寻求了类似于Beengie's的解决方案。我们在arr = [3, 4, 5, 6, 3, 4, 5, 2, 3]
def ans(list, temps, target)
temps = [target[0]] if temps == []
if !target[1]
list << temps
elsif target[0] < target[1]
ans(list, temps << target[1], target[1...target.size])
else
ans(list << temps, [target[1]], target[1...target.size])
end
end
ans([], [], arr)
中添加了一个toastr_override.js
文件,内容如下:
app/assets/javascripts/helpers/