当有人填写表单并点击提交时,我需要跟踪Google Analytics中的事件.出现的结果页面是标准的仪表板类型页面,因此为了跟踪该页面上的事件,我必须在URL中传递事件,然后读取URL并输出谷歌分析事件跟踪javascript代码基于它.这是一个经常被加入书签的页面和重新加载,点击回来的页面等等.所以我真的不会在URL中传递跟踪事件并搞砸了分析.
相反,我更愿意在页面上使用以下形式执行以下jQuery代码:
$('#form_id').submit(function() {
_gaq.push('_trackEvent', 'my category', 'my action');
});
Run Code Online (Sandbox Code Playgroud)
我担心上面的问题是,我将错过一些被跟踪的事件,因为在调用javascript后,浏览器将立即提交表单并转到另一个网页.如果没有及时加载utm.gif跟踪图像,我会错过这个事件:(.
我的恐惧是否合理?我如何确保不会错过被跟踪的事件?
我在Rails控制器中有以下代码:
flash.now[:notice] = 'Successfully checked in'
redirect_to check_in_path
Run Code Online (Sandbox Code Playgroud)
然后在/ check_in视图中:
<p id="notice"><%= notice %></p>
Run Code Online (Sandbox Code Playgroud)
但是,通知没有显示出来.如果我不在控制器中重定向,则工作完美:
flash.now[:notice] = 'Successfully checked in'
render action: 'check_in'
Run Code Online (Sandbox Code Playgroud)
我需要重定向...而不仅仅是对该动作的渲染.重定向后可以有闪光通知吗?
ruby-on-rails rails-flash ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4
我的Spring 3应用程序中的每个视图都有一组可以依赖的属性.所以每个控制器的第一行是这样的:
ControllerHelper.addDefaultModel(model, personManager, request);
Run Code Online (Sandbox Code Playgroud)
在那里我会补充
imagesHost)这一切都允许每个视图显示登录用户的名称,轻松引用图像位置,语言列表和一些有关该站点的整体统计信息.
所以问题是,控制器模型对象是存储所有数据的最佳位置还是有一个更方便的地方,使得视图访问这些信息一样容易?
其次,我真的很想不必将ControllerHelper上面的行作为每个控制器的第一行.它实际上并不总是第一行,有时我首先检查是否需要在该控制器中重定向,因为我不想浪费资源填充模型.也许一个过滤器或注释或一些春天的回调机制可以确保ControllerHelper代码被称为后,控制器完成,但正确的前视图呈现,跳过此是否返回重定向?
我只需要使用Hibernate读取MySQL数据库中表中的每一行,并根据它编写一个文件.但是有9000万行,它们非常大.所以看起来以下是合适的:
ScrollableResults results = session.createQuery("SELECT person FROM Person person")
.setReadOnly(true).setCacheable(false).scroll(ScrollMode.FORWARD_ONLY);
while (results.next())
storeInFile(results.get()[0]);
Run Code Online (Sandbox Code Playgroud)
问题是上面将尝试将所有9000万行加载到RAM中,然后再转到while循环...这将使OutOfMemoryError消除我的内存:Java堆空间异常:(.
所以我猜ScrollableResults不是我想要的?处理这个问题的正确方法是什么?我不介意这个while循环需要几天(好吧我不喜欢它).
我想处理这个问题的另一种方法是使用setFirstResult和setMaxResults迭代结果,只使用常规的Hibernate结果而不是ScrollableResults.这感觉就像它效率低下一样,当我在8900万行中调用setFirstResult时,它将开始花费一段可笑的时间......
更新:setFirstResult/setMaxResults不起作用,事实证明需要花费相当长的时间才能达到我所担心的偏移量.这里一定有解决方案!这不是一个很标准的程序吗?我愿意放弃Hibernate并使用JDBC或其他任何东西.
更新2:我提出的解决方案哪个工作正常,不是很好,基本上是以下形式:
select * from person where id > <offset> and <other_conditions> limit 1
Run Code Online (Sandbox Code Playgroud)
由于我有其他条件,即使是索引中的所有条件,它仍然没有我想要的那么快......所以仍然可以提供其他建议..
有一个简单的方法让css3 text-shadow在IE9中工作吗?至少一个文本阴影会很棒.我想理想情况下也支持IE8.我希望有一个简单的jquery插件或.htc文件,它只是查看元素的text-shadow css属性并为IE9实现它.
我认真对待命名,所以我认为我的ActiveRecord模型的名字很难.但是,我经常提出一个名称,它与数据库或Ruby或Rails中的保留名称有一些冲突.模型或字段名称如set或group.有时问题也不会立即显现出来.我们的模型名称和字段名称列表中是否有名称的名称?
activerecord ruby-on-rails ruby-on-rails-3 active-record-query ruby-on-rails-3.2
title如果我想提供更多信息,我目前设置了一些HTML 的属性:
<p>An <span class="more_info" title="also called an underscore">underline</span> character is used here</p>
Run Code Online (Sandbox Code Playgroud)
然后在CSS中:
.more_info {
border-bottom: 1px dotted;
}
Run Code Online (Sandbox Code Playgroud)
工作非常好,可视指示器移动鼠标,然后弹出更多信息.但是在移动浏览器上,我没有得到那个工具提示. title属性似乎没有效果.在移动浏览器中提供有关文本的更多信息的正确方法是什么?与上面相同,但使用Javascript来监听点击,然后显示工具提示外观对话框?有没有本机机制?
我知道我可以使用以下2个命令下载文件:
curl -O example.com/file.zip
wget example.com/file.zip
Run Code Online (Sandbox Code Playgroud)
但我希望他们进入一个特定的目录.所以我可以做到以下几点:
curl -o mydir/file.zip example.com/file.zip
wget -O mydir/file.zip example.com/file.zip
Run Code Online (Sandbox Code Playgroud)
有没有办法不必指定文件名?像这样的东西:
curl -dir mydir example.com/file.zip
Run Code Online (Sandbox Code Playgroud) 我有一个有belongs_to关联的模型:
class Car < ActiveRecord::Base
belongs_to :vendor
end
Run Code Online (Sandbox Code Playgroud)
所以我可以打电话car.vendor.但我也想打电话car.company!所以,我有以下内容:
class Car < ActiveRecord::Base
belongs_to :vendor
def company
vendor
end
end
Run Code Online (Sandbox Code Playgroud)
但这并没有解决分配情况car.company = 'ford',所以我需要为此创建另一种方法.alias我可以使用一种简单的机制进行关联吗?我可以只使用alias_method :company, :vendor和alias_method :company=, :vendor=?
ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4
我需要让用户输入浮点数,所以我使用以下元素:
<input type="number" name="my_number" placeholder="Enter number"/>
Run Code Online (Sandbox Code Playgroud)
在Firefox上运行得很好,但Chrome在我尝试输入小数时抱怨这个数字不是整数.这对我的案子来说是一个问题.如果我输入step属性,则Chrome会允许浮点数:
<input type="number" name="my_number" placeholder="Enter number" step="0.1"/>
Run Code Online (Sandbox Code Playgroud)
但后来问题是0.15无法进入......这step似乎不符合我的需要.在W3C规范整个的属性提到浮点数input type="number".
如何让Chrome接受没有step属性的浮点数?
html ×2
html5 ×2
java ×2
activerecord ×1
analytics ×1
css ×1
css3 ×1
css3pie ×1
curl ×1
hibernate ×1
html-input ×1
javascript ×1
jquery ×1
linux ×1
macos ×1
mobile ×1
mysql ×1
rails-flash ×1
ruby ×1
spring ×1
spring-3 ×1
spring-mvc ×1
tooltip ×1
validation ×1
wget ×1