我想自定义设计错误消息。我创建了一个app / helper / devise_helper.rb文件,如下所示:
module DeviseHelper
def devise_error_messages!
return "" if resource.errors.empty?
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = I18n.t("errors.messages.not_saved",
count: resource.errors.count,
resource: resource.class.model_name.human.downcase)
html = <<-HTML
<div class= "alert alert-info alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
#{messages}
</div>
HTML
html.html_safe
end
end
我也有app / views / layouts / _flashes.html.erb文件:
<% flash.each do |key, value| %>
<%= content_tag(:p, value, :class => "flash #{key}") %>
<% end %>
我在application.html.erb文件中呈现上述文件:
<%= render "layouts/flashes" %>
我仍然在网页的左上角以纯文本形式获取设计错误消息。有什么指针吗?
答案 0 :(得分:0)
app/views/layouts/_flashes.html.erb
中没有style / css类。你在DeviseHelper#devise_error_messages!
方法中使用它们,但这两者并不相关。这就是为什么你没有得到它的风格。
将_flashes.html.erb
部分包裹在某些课程中,你会很高兴:
<% flash.each do |key, value| %>
<%= content_tag(:p, value, :class => "flash #{key} alert alert-info") %>
<% end %>
或者
<% flash.each do |key, value| %>
<%= content_tag(:p, value, :class => "flash alert alert-#{key}") %>
<% end %>