【发布时间】:2013-08-22 08:49:30
【问题描述】:
我在application.js 中有以下代码来淡出闪烁消息:
//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
有没有办法使login_error 类型的flash 消息免于application.js 中的代码?
编辑:
login_error 消息的 html - 实际上它只是一个 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 的答案只针对我更明确的目标。
【问题讨论】:
-
能否请您发布登录错误消息的 HTML 和标准错误消息。
-
只有用户登录后才能启用淡入淡出功能
-
@techvineet,好主意!
-
@dax - 如果真的有帮助,请投票支持此评论。
-
给出答案,我会做的 - 我不认为你会得到 cmets 的业力 :)
标签: jquery ruby-on-rails ruby-on-rails-3