我无法获取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) 我一直在苦苦寻找Rails设置的默认过期时间,以防我们在向memcache存储键值对时没有提供任何默认过期时间?例如Rails.cache.write('some-key','some-value')
如果我们没有指定,rails会默认设置一些到期时间吗?
让我说我有我的第一个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有内置的东西吗?
我的 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 结果中给出的记录完全匹配,没有任何额外内容。
我可以想到两种解决方案,但不确定哪一个是最快的(性能是一个问题,因为有数以万计的记录,我想尽可能频繁地同步):
在每次同步期间,删除所有行cached_projects并为通过 SOAP 服务找到的每个项目插入新行。
这将实现拥有完全相同的数据集的目标,但是假设数据库中的绝大多数行保持不变,每次删除数据库中约 50,000 行的成本会有多大?数据库中存在如此多的“流失”是否有负面影响?
在每次同步期间,选择 中的所有行cached_projects,将它们存储在临时哈希变量中。循环遍历 SOAP 记录,对于每一条记录,检查它是否已经在数据库中(使用临时哈希),保留我们找到的数据库记录的 ID 列表,以便它们可以保留在数据库中。比较所有内容后,插入任何新记录的行,删除不应再出现在表中的记录的行。
这是我当前的解决方案,虽然它也准确地反映了数据,但比较 Rake 任务中的所有记录是相当计算密集型的,每次同步大约需要 3-5 …
我在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) 嗨,我正在使用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.谢谢
当我尝试在节点上调试项目时,我必须为我的javascript文件编写完整路径,因为默认值节点使用的是C:\Users\MyUser,我拒绝使用它.
我一直试图找到如何改变它,但没有在任何地方找到它.我甚至尝试手动搜索目录,没有找到它的运气.
有谁能指出我如何解决这个烦人的小问题?
在研究了各种不同的项目并阅读尽可能多的文档后,我遇到了如何在我的应用程序中包含指令的问题.该应用程序的设置如下:
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) 所以,这是我的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) 这是我的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时,它失败了,我找不到任何理由......
任何人都可以帮助我吗?
ruby ×2
.net ×1
angularjs ×1
c# ×1
caching ×1
capistrano ×1
dalli ×1
deployment ×1
heroku ×1
javascript ×1
jenkins ×1
memcached ×1
node.js ×1
postgresql ×1
puppet ×1
rolify ×1
rspec ×1
sql ×1
windows ×1