我有以下代码application.js
来淡出 Flash 消息:
//fadeout flash messages
$('.flash').fadeIn(function() {
setTimeout(function() {
$('.flash').fadeOut();
}, '2000');
});
但是,在 中sessions_controller.rb
,如果发生登录错误,则会显示一条消息,其中将包含一个用于重置用户密码的链接 - 我不希望此链接淡出!
flash.now[:login_error] = "Invalid email/password combination.
Have you #{ActionController::Base.helpers.link_to "forgotten your password?", '#'}".html_safe
有没有办法使flash
类型的消息login_error
免于代码中的代码application.js
?
编辑:
消息的 html login_error
- 实际上它只是一个 css 类,所以应该很容易。
<div class="flash login_error">
Invalid email/password combination.
Have you <a href="#">forgotten your password?</a>
</div>
解决方案:
techvineet的建议在用户未登录时禁用淡入淡出是一个很好的建议 - 我这样做是很广泛的,但我能想到的最简单的方法 - 在application.html.erb
:
<%= javascript_include_tag "application" unless current_user.nil? %>
但是,arjan的答案仅针对我更明确的目标。