小编Jas*_*ler的帖子

如何防止Rails中的浏览器页面缓存

Ubuntu - > Apache - > Phusion Passenger - > Rails 2.3

我网站的主要部分会对您的点击做出反应.因此,如果您点击链接,它会将您发送到目的地,并立即重新生成您的页面.

但是,如果您点击后退按钮,则看不到新页面.不幸的是,如果没有手动刷新,它就不会出现; 看来浏览器正在缓存它.我想确保浏览器不缓存页面.

另外,我确实想为所有静态资产设置远期到期日期.

解决这个问题的最佳方法是什么?我应该在Rails中解决这个问题吗?Apache的?JavaScript的?

谢谢你的帮助,杰森


唉.这些建议都没有强迫我正在寻找的行为.

也许有一个JavaScript的答案?我可以让rails在注释中写出时间戳,然后让javascript检查以查看时间是否在五秒钟内(或者无论什么工作).如果是,那么很好,但如果没有,那么重新加载页面?

你认为这会有用吗?

感谢你的帮助,

贾森

ruby apache caching ruby-on-rails http-headers

149
推荐指数
2
解决办法
6万
查看次数

在ruby中散列网址的最佳方法是什么?

我正在写一个指向外部链接的网络应用程序.我正在寻找为URL中可以使用的每个文档创建一个非顺序的,不可猜测的id.我做了显而易见的事情:处理的URL作为一个字符串和STR#墓穴,但似乎呛任何非alphanumberic字符,如斜线,点和下划线.

有关解决此问题的最佳方法的任何建议?

谢谢!

ruby

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

我如何确保一次只运行一个Ruby脚本实例?

我有一个每五分钟就在cron上运行一个进程.通常,运行只需几秒钟,但有时需要几分钟.我想确保一次只运行一个版本.

我试了一个明显的方法......

File.open("/tmp/indexer_lock.tmp",'w') do |f|
  exit unless f.flock(File::LOCK_EX)
end
Run Code Online (Sandbox Code Playgroud)

...但它没有测试它是否可以获得锁定,它会在锁定被释放之前阻塞.

知道我错过了什么吗?我宁愿不使用ps来破解某些东西,但这是另一种选择.

ruby linux

8
推荐指数
3
解决办法
5146
查看次数

如何陷阱"在新标签页中打开"点击jquery.click

我有一个jquery脚本,它将click事件附加到每个链接,在单击链接时运行一个动作.这一直很有效,但我得到了一些反对意见,这些反馈正在挫败我.

用户右键单击链接并在新选项卡中打开它.当她这样做时,jquery没有捕获点击.坏用户.我用cmd-click再现了这个.

有没有办法捕捉这些手势,或者这是一个固有的限制?

javascript jquery

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

如何让Phusion Passenger,MySQL和Rails在制作中发挥出色

我写了一个rails应用程序,在没有数据库的情况下运行了一段时间.现在,我正在将注册数据库放入混合中.它不适用于生产.当然,在我的Mac上,一切正常.

这是生产环境: - Ubuntu Hardy - Phusion Passenger - Rails 2.3.2

机器上的MySQL运行正常.

我有database.yml文件,其中包含正确的信息.我可以毫无问题地运行迁移:

rake db:migrate RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

数据库正在正确更新.

所以,我点击了tmp/restart并点击了网站.我得到了500错误,但没有写入生产日志(很奇怪).所以,我检查了apache日志,我收到了这条消息:

!捆绑的mysql.rb驱动程序已从Rails 2.2中删除.请安装mysql gem并再试一次:gem install mysql.

我已经安装了MySQL gem(版本2.7).我仍然收到这个错误.

当我将生产数据库配置更改为指向虚拟sqlite数据库时,一切正常.当我将其更改回MySQL配置时,我收到相同的错误消息.

我完全没有想法,我希望它能奏效.我把头发拉了出来,我非常感谢你提供的任何帮助.我已经包含了我能想到的所有内容,但如果有更多信息有用,请告诉我.

谢谢!

贾森

ruby mysql ruby-on-rails passenger

4
推荐指数
2
解决办法
2814
查看次数

简单的jQuery功能适用于每个浏览器,但Firefox.我错过了什么?

$(document).ready(function() {
    $("span.link").mouseover(function(e){
        $(this.children).css("display","inline");  
      });
  });            
Run Code Online (Sandbox Code Playgroud)

我不是一个javascript专家,但我使用jQuery拼凑了一些函数.

在这种情况下,样式表隐藏了一些控件.当用户将鼠标悬停时,此函数会公开这些控件.

这适用于除Firefox之外的所有浏览器(在Mac和Windows上).我错过了一些明显的东西吗

谢谢你的帮助,

贾森

firefox jquery

0
推荐指数
1
解决办法
673
查看次数