将JavaScript行为添加到Ruby代码中
Adding JavaScript behavior to Ruby code?
这是我在Rails应用程序中用于delete
操作的控制器代码。我没有为delete
操作使用单独的视图。
def delete
@industry = Industry.find(params[:id])
@industry.destroy
flash[:notice] = "Industry successfully deleted"
redirect_to(:action => 'index')
end
操作是在索引视图本身中触发和执行的,但是我希望添加两件事:
- 如何创建一个JavaScript警报,在删除对象之前警告用户?
- flash消息停留在索引页的顶部。如何添加JavaScript,使flash消息框在10秒后出现和消失?
基本上,我如何在Rails 4中拦截destroy
动作?
10秒后移除闪光灯:
$('.your-alert-div').delay(10000).fadeOut(400); // The fadeOut is just a transition I added. you can do remove() instead
同样,你可以使用setTimeout。
window.setTimeout(function() {
$(".alert").fadeTo(500, 0).slideUp(500, function(){
$(this).remove();
});
}, 6000);
要在用户删除某些内容之前通过JavaScript提醒用户,您可以对您的链接执行以下操作:
<%= link_to "Delete", object, :method => :delete, :data => { :confirm => "Are you sure?" } %>
alert
与此动作无关。您需要在上一个页面中呈现该JavaScript,该页面向此操作发出请求。
当动作被调用时,提示用户已经太晚了。
通知同样与此操作无关。您需要一些JavaScript附加到您的布局,它使用setTimeout
来隐藏通知元素,当它出现在DOM中时。
相关文章:
- 为什么不't我的ruby代码与javascript文件一起插入
- 带有ruby代码和javascript的链接
- 如何将ruby代码附加到html元素
- 如何使从数据库获取的 Ruby 代码在 JS 中工作
- 如何将 ruby 代码值添加到 disqus javascript 变量中
- 使用javascript HotRuby.js时,Ruby代码在哪里编译
- 通过 Jquery 触发对 ruby 代码的点击
- Rails 3.1.3:在 JavaScript 之前评估 ruby 代码
- Javascript中的Ruby代码
- ruby代码中的Javascript变量
- ruby代码显示为文本,而不是在js.erb文件中执行
- Duck打字:利用Duck打字将Ruby代码翻译成Javascript
- 如何在视图中混合JS和Ruby代码以供以后使用JS
- 在Javascript调用中嵌入Ruby代码
- 尝试将ruby代码转换为javascript时出错
- 可以在ruby代码中使用JS代码吗?
- 在Rails 3.1应用程序中,嵌入Ruby代码的JavaScript应该放在哪里?
- Sinatra/Haml:如何在Javascript中执行Ruby代码
- 如何在ruby代码中使用JavaScript变量
- 用于配置Selenium以访问JavaScript控制台的Ruby代码