小编Che*_*tta的帖子

FnordMetric:我的Toplist Gauges消失了

我想做什么

我通过rails gem上ruby使用FnordMetric Classic,如Railscasts#378所示.fnordmetric

我想有一个我的"热门页面"列表,其中页面是我的网络应用程序的一种内容.

问题

无论使用的版本,在生产和开发中,我所谓的toplist仪表的内容都在不断消失.

这可以在下面的屏幕截图中看到,其中"热门页面Toplist Gauge" 的列表" Top Keys "是空的,其中应该填充最多访问的页面.

截图 -  toplist gauge是空的,但它不应该

一些观察

  • 例如,当我触发事件时,访问受监控应用程序上的页面时,访问的页面将显示在fnordmetric toplist量表中.但几分钟后,它就消失了.
  • 我试图增加存储持续时间设置,没有效果.
  • 从屏幕截图中可以看出,样本数不为零(为2.00).因此,数据必须位于数据库中,但不会显示.

源代码

这是创建此规范的源代码的相关部分:

 # 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)

有谁知道我做错了什么?

metrics ruby-on-rails

26
推荐指数
1
解决办法
689
查看次数

可重复使用的远程模态导轨

我正在尝试创建一个可重复使用的远程模态.我们的想法是创建一个模型容器并在其中呈现内容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 jquery haml ruby-on-rails bootstrap-modal

16
推荐指数
1
解决办法
1621
查看次数

是什么原因,在ajax中渲染相同的HAML比在浏览器中加载要慢得多

简短说明(我们在浏览器调试器网络选项卡中):

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)

haml ruby-on-rails

9
推荐指数
1
解决办法
309
查看次数

检查电子邮件域名是否有效

我的表单中有一个 email_id 的输入字段。
当用户输入电子邮件 ID 并提交表单时,我需要验证电子邮件的域。

(注意:我不需要验证电子邮件地址。我只需要验证域名)

在 Ruby on Rails 中检查电子邮件域是否有效的最佳方法是什么?

validation ruby-on-rails ruby-on-rails-4

5
推荐指数
1
解决办法
4636
查看次数