我正在使用Rails 4.0和twitter-bootstrap-rails
gem,它会在bootstrap_flash
语句上方显示yield
的通知。
我在错误集合中添加错误的一种方法是:
if there_is_an_error
msg = "You have an error here..."
self.errors.add(:base, msg)
end
这应该有效,因为我在特定项目旁边显示内联错误,所以据我所知,我没有问题。但我有时也会在表单的顶部显示验证错误。
在表单顶部显示验证错误消息的最佳方法是什么,尤其是在使用bootstrap时?
答案 0 :(得分:6)
我是通过flash来实现的,它就像一个哈希闪存[:danger],flash [:success]等:
在与表单相关的控制器中,在渲染之前使用 flash [] 之前的redirect_to( flash.now [] )
flash[:success] = "Signup passed successful"
并在application.html.erb(布局)中迭代闪存哈希
<div class="container">
...
<% flash.each do |key, value| %>
<%= content_tag(:div, value, class: "alert alert-#{key}") %>
<% end %>
...
<%= yield %>
...
</div>
请注意,您最好使用标准bootstrap:key(:sucess,:danger等)来实现正确的自动格式化 Alerts in Bootstrap 3
P.S。我个人使用thomas-mcdonald的Bootstrap 3 gem bootstrap-sass,但方法对你也有效。 Bootstrap 2使用:error而不是:danger和.alert-block而不是.alert
答案 1 :(得分:0)
您好bootstrap_flash旨在与Rails&#39;闪光法。它可以配置为执行您想要的操作,包括定位要显示的特定容器。
就验证而言,它不支持开箱即用,因为许多用户正在实施他们自己的解决方案,通常是客户端使用ajax从服务器获取错误。我们对正确的方法没有达成多少共识,所以我们把它排除在外,因为其他图书馆都很擅长。