我通过rails gem上的ruby使用FnordMetric Classic,如Railscasts#378所示.fnordmetric
我想有一个我的"热门页面"列表,其中页面是我的网络应用程序的一种内容.
无论使用的版本,在生产和开发中,我所谓的toplist仪表的内容都在不断消失.
这可以在下面的屏幕截图中看到,其中"热门页面Toplist Gauge" 的列表" Top Keys "是空的,其中应该填充最多访问的页面.

这是创建此规范的源代码的相关部分:
# script/fnordmetric_app.rb
require 'fnordmetric'
FnordMetric.namespace :my_web_app do
toplist_gauge :popular_pages, title: "Popular Pages"
event :show_page do
observe :popular_pages, data[:title]
end
# ...
end
FnordMetric::Web.new(port: 4242, use: middleware)
FnordMetric::Worker.new
FnordMetric.run
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么?
我正在尝试创建一个可重复使用的远程模态.我们的想法是创建一个模型容器并在其中呈现内容yield并在需要时呈现内容.
注意:所有HTML代码都将被写入HAML.我正在使用bootstrap-modal-rails gem来处理我的模态.
我的模态容器布局(不是部分):
%div(class="modal" id="mainModal ajax-modal" tabindex="-1" role="dialog"){:'aria-labelledby'=>"mainModalLabel", :'aria-hidden'=>"true"}
%div(class="c-modal__container")
%div(class="c-modal__layout modal__content")
= yield
Run Code Online (Sandbox Code Playgroud)
在我的application.html.haml,我有一个div定义模态位置如下:
-# ...
%div(id="modal-holder")
- unless params[:nojs]
= javascript_include_tag 'desktop'
-# ...
Run Code Online (Sandbox Code Playgroud)
这是我的问题来自哪里.我有一个book controller用户可以添加书籍的地方.我有一个多步注册,我的new行动必须是我的模式.当用户点击New book链接时,我正在加载一个新模式.
我的New book链接:
= link_to "New book", new_book_path, class: "c-link--navbar", data: { modal: true }
Run Code Online (Sandbox Code Playgroud)
CoffeeScript的(重新写入jQuery)的模式(此代码这篇文章):
$(function() {
var modal_holder_selector, modal_selector;
modal_holder_selector = '#modal-holder';
modal_selector = '.modal';
$(document).on('click', 'a[data-modal]', function() …Run Code Online (Sandbox Code Playgroud) 简短说明(我们在浏览器调试器网络选项卡中):
AJAX GET /page/42 takes ~20s
replay/resend this XHR takes ~15s
open this XHR in new tab takes ~1.5s (only!)
replay/resend this XHR takes ~15s (again)
Run Code Online (Sandbox Code Playgroud)
仅在开发中发生
总是(和跨浏览器)重现能力
Rails 3.2.22.5
HAML失去了时间(非常肯定)
我正在开发一个HTML编辑器来设计打印页面.这个编辑器 - 让我们说 - 全面.
启动时我必须渲染完整的编辑器HAML(~1000行),这需要不到5秒(除非在rails启动后首先).这相当快.
基本结构看起来像这样(伪HAML,每行是部分,数字是〜渲染时间)部分计数(n)通常在10到15左右
editor_layout
editor (~5s)
edit_background (~1.5s)
the_page (0.1s*n)
section_1
.
.
section_n
dialog_1
dialog_2
.
.
dialog_42
Run Code Online (Sandbox Code Playgroud)
打印时(PDF)看起来像
print_layout (~1.5s)
the_page (0.1s*n)
section_1
.
.
section_n
Run Code Online (Sandbox Code Playgroud)
到目前为止,在开发环境中特别好,特别好.
但是当我必须在编辑器中更改页面并使用AJAX调用新页面以获得内部HTML时
no_layout
edit_background (~15s)
the_page (1s*n)
section_1
.
.
section_n
Run Code Online (Sandbox Code Playgroud)
动作需要大约15秒(!).时间来自渲染一个部分现在需要1秒而不是100毫秒.如果我在新的浏览器选项卡中打开相同的URL,我将恢复到通常的1.5秒.
我不知道为什么.
使它更奇怪:
我可以用AJAX重新加载(重新渲染)编辑器的任何(HTML)部分,这看起来像
/page/42/edit?inner-html=background, dialog_1, …Run Code Online (Sandbox Code Playgroud) 我的表单中有一个 email_id 的输入字段。
当用户输入电子邮件 ID 并提交表单时,我需要验证电子邮件的域。
(注意:我不需要验证电子邮件地址。我只需要验证域名)
在 Ruby on Rails 中检查电子邮件域是否有效的最佳方法是什么?