小编Stu*_*t M的帖子

Rails资产缓存 - 无法设置max-age

我无法获取rails来为我的任何CSS或JS资产设置max-age值.我们正在运行rails 3.1,但我们升级了所以我很可能错过了一些明显的配置.在这一点上,我已经把我能找到的大部分配置从真实转为假,然后又没有运气.

这是我目前的环境/ production.rb

Ventura::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  # Code is not reloaded between requests
  config.cache_classes = true

  # Full error reports are disabled and caching is turned on
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  # Configure static asset server for tests with Cache-Control for performance
  config.serve_static_assets = false
  config.static_cache_control = "public, max-age=3600"

  # Compress JavaScripts and CSS
  config.assets.compress = true

  # Don't fallback to assets pipeline if a precompiled asset …
Run Code Online (Sandbox Code Playgroud)

caching ruby-on-rails heroku asset-pipeline

7
推荐指数
1
解决办法
5059
查看次数

Rails memcache存储默认的自动过期时间

我一直在苦苦寻找Rails设置的默认过期时间,以防我们在向memcache存储键值对时没有提供任何默认过期时间?例如Rails.cache.write('some-key','some-value')

如果我们没有指定,rails会默认设置一些到期时间吗?

memcached ruby-on-rails dalli

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

如何获得两个Point对象之间的所有点?

让我说我有我的第一个Point结构:

Point start = new Point(1, 9);
Run Code Online (Sandbox Code Playgroud)

而我的第二个:

Point end = new Point(4, 9);
Run Code Online (Sandbox Code Playgroud)

我想得到开始和结束之间的所有要点.所以例如我想要一个数组中的2,9和3,9..NET有内置的东西吗?

.net c#

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

在 PostgreSQL 数据库中定期同步数据的最有效方法是什么?

我的 PostgreSQL 9.0.x 数据库中有一个表,cached_projects我主要通过 Rails 应用程序访问该表,其架构如下所示:

create_table "cached_projects", :force => true do |t|
  t.string   "name",                               :null => false
  t.datetime "created_at",                         :null => false
  t.datetime "updated_at",                         :null => false
  t.boolean  "localization",    :default => false, :null => false
  t.integer  "base_project_id"
end
Run Code Online (Sandbox Code Playgroud)

该表由 Rake 任务填充,该任务每N分钟运行一次并执行以下操作:

  • 从 SOAP Web 服务查询所有项目记录(此上下文中的“项目”仅由名称(字符串)和几个布尔值和整数字段组成)。
  • 将数据库中的项目列表与 SOAP 结果同步,丢弃 SOAP 结果中不再存在的任何记录,并添加找到的任何新记录。

进行这种定期同步的最有效方法是什么?重要的是数据库中的行与 SOAP 结果中给出的记录完全匹配,没有任何额外内容。

我可以想到两种解决方案,但不确定哪一个是最快的(性能是一个问题,因为有数以万计的记录,我想尽可能频繁地同步):

  1. 在每次同步期间,删除所有行cached_projects并为通过 SOAP 服务找到的每个项目插入新行。

    这将实现拥有完全相同的数据集的目标,但是假设数据库中的绝大多数行保持不变,每次删除数据库中约 50,000 行的成本会有多大?数据库中存在如此多的“流失”是否有负面影响?

  2. 在每次同步期间,选择 中的所有行cached_projects,将它们存储在临时哈希变量中。循环遍历 SOAP 记录,对于每一条记录,检查它是否已经在数据库中(使用临时哈希),保留我们找到的数据库记录的 ID 列表,以便它们可以保留在数据库中。比较所有内容后,插入任何新记录的行,删除不应再出现在表中的记录的行。

    这是我当前的解决方案,虽然它也准确地反映了数据,但比较 Rake 任务中的所有记录是相当计算密集型的,每次同步大约需要 3-5 …

ruby sql postgresql synchronization ruby-on-rails

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

Puppet 3文件非常慢

我在Amazon Linux 2012.09上使用Puppet 3,我的一个清单设置并重新配置一些目录.其中一个任务就是将文件夹所有者和组recursivelt更改为另一个用户 - 但是,这需要60秒才能完成,目录中几乎没有任何东西 - 终端中的chuser myuser:myuser/var/lib/jenkins不到一秒钟.

我的问题是:在Puppet中是否有更好/更快的方式来递归更改目录所有权?

谢谢

 file {'/var/lib/jenkins':
   ensure  => 'directory',
   owner   => myuser,
   group   => myuser,
   recurse => true,
   require => Package['jenkins'],
 }
Run Code Online (Sandbox Code Playgroud)

puppet jenkins

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

Rolify的目的是什么?

嗨,我正在使用rolify并且刚刚意识到我并没有真正利用它的全部潜力.

目前我在我的控制器中做的事情就像重新路由用户一样current_user.has_role? :whatever_role,并允许用户,如果他们有任何其他角色...

有人问关于rolvert的stackoverflow问题,当我试图回答它时,我意识到我做错了.

现在,我的混乱开始了......在ability.rb里面,我有:

user ||= User.new # guest user (not logged in)
if user.has_role? :consumer
  can :manage, Review
else
  can :read, Review
end
Run Code Online (Sandbox Code Playgroud)

现在让我们说我将用户角色添加到用户:

x=User.last
x.add_role :consumer
# => #<Role id: 10, name: "consumer", resource_id: nil, resource_type: nil, created_at: "2013-04-18 23:00:46", updated_at: "2013-04-18 23:00:46"> 
Run Code Online (Sandbox Code Playgroud)

是的,所以创建了角色.我可以通过这样做来检查:

x.has_role? :consumer
=> true
Run Code Online (Sandbox Code Playgroud)

现在我希望这能为评论提供管理能力......

x.has_role? :consumer, Review
=> true
Run Code Online (Sandbox Code Playgroud)

但不适用于其他型号......我在这里尝试产品

x.has_role? :consumer, Product
=> true
Run Code Online (Sandbox Code Playgroud)

此外,当我查看"资源角色查询"并尝试查询应用的评论角色时,我发现没有应用角色:

Review.first.applied_roles
=> []
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释rolify.谢谢

ruby ruby-on-rails rolify

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

如何更改node.js中的默认目录?(视窗)

当我尝试在节点上调试项目时,我必须为我的javascript文件编写完整路径,因为默认值节点使用的是C:\Users\MyUser,我拒绝使用它.

我一直试图找到如何改变它,但没有在任何地方找到它.我甚至尝试手动搜索目录,没有找到它的运气.

有谁能指出我如何解决这个烦人的小问题?

windows node.js

5
推荐指数
2
解决办法
9815
查看次数

Angular - 指令和使用模块

在研究了各种不同的项目并阅读尽可能多的文档后,我遇到了如何在我的应用程序中包含指令的问题.该应用程序的设置如下:

app.js - 只是顶部

angular.module('ngDashboard', ['ngCookies','ngResource','ngDashboard.filters', 'ngDashboard.services', 'ngDashboard.directives'])
Run Code Online (Sandbox Code Playgroud)

除了(它是一个从一个例子重写的应用程序)之外,所有模块都能正常工作,因为这些指令根本不起作用:

directives.js - 以下不起作用,不在视图上执行指令:

angular.module('ngDashboard.directives', []).
  directive('funkyElement', function () {
    return {
        restrict: 'E',
        transclude: true,
        scope: 'isolate',
        template: '<div>gonna parse this: {{orig}} <br/>... and get this: {{obj}}</div>',
        //templateUrl: 'template.html',
        compile:function (element, attr, transclusionFunc) {
            return function (scope, iterStartElement, attr) {
                var origElem = transclusionFunc(scope);
                var content = origElem.text();
                scope.orig = content;
                scope.obj = my_custom_parsing(content);
            };
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

同一个directives.js文件中的以下内容可以正常工作并执行指令:

angular.module('ng').directive('funkyElement', function () {
    return {
        restrict: 'E',
        transclude: true,
        scope: 'isolate', …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive

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

使用capistrano部署时隐藏mysql2密码的好方法是什么?

所以,这是我的capistrano文件

load 'deploy/assets'
require "bundler/capistrano" 
set :application, "XXXXXX"
set :repository,  "XXXXXX"

set :scm, :git # You can set :scm explicitly or Capistrano will make an intelligent guess based on known version control directory names
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
set :repository , "XXXXXX"

role :web, "XXXXXX"                          # Your HTTP server, Apache/etc
role :app, "XXXXXX"                          # This may be the same as your `Web` server
role :db,  "XXXXXX", :primary => true # This is …
Run Code Online (Sandbox Code Playgroud)

deployment capistrano ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
1645
查看次数

在rspec测试中创建一个对象变量但是没有

这是我的rspec代码:

describe User do
  before{(@user=User.new(username:"abcdefg",email:"123456@123.com",password:"123456")}
  subject(@user)
  @user.save
end
Run Code Online (Sandbox Code Playgroud)

我有这样一个错误: undefined method 'save' for nil:NilClass(NoMethodError)

我尝试在rails控制台中编写相同的代码,它只是起作用.但是当谈到Rspec时,它失败了,我找不到任何理由......

任何人都可以帮助我吗?

rspec ruby-on-rails

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