当我运行我的规格时,我正在寻找一种方法来抑制Ruby警告.
spec spec/models/account_spec.rb
Run Code Online (Sandbox Code Playgroud)
我收到警告,例如:
DEPRECATION WARNING: ActiveSupport::Dependencies.load_paths is deprecated, ...
warning: already initialized constant SOME_CONSTANT_NAME
Run Code Online (Sandbox Code Playgroud)
删除ActiveSupport警告很容易ActiveSupport::Deprecation.silenced = true.
作为spec命令的一部分,如何防止已初始化的常量警告?或者通过创建另一个spec可以抑制此类警告的文件.请记住,这些警告来自gem文件,因此我无法进入这些文件并将其包围起来Kernel.silence_warnings.
注意:
我知道抑制警告很糟糕.但是,当我spec从内部运行单个内容时,vim如果警告不会使我的屏幕混乱,那将会很好.
我在Rails应用程序中使用Backbone.js,我需要将文件上传作为其中一个Backbone模型的一部分.
我不相信Backbone允许开箱即用的多部分文件上传.有没有人设法通过一些插件或其他外部lib工作?如何扩展Backbone.js以支持此功能?
我正在寻找有关如何删除旧webpack chunked文件的信息.这是我目前的webpack配置:
var path = require('path');
var webpack = require('webpack');
module.exports = {
debug: false,
outputPathinfo: true,
displayErrorDetails: true,
context: __dirname,
entry: {
common: ['./src/common.coffee'],
a: './src/a.cjsx',
b: './src/b.cjsx'
},
output: {
filename: '[name]-[chunkhash].js',
chunkFileName: '[name].[chunkhash].js',
path: path.join(__dirname, 'js')
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('common', 'common-[chunkhash].js'),
new webpack.optimize.UglifyJsPlugin({
compress: { warnings: false }
})
],
module: {
preLoaders: [
{
test: /\.coffee$/,
exclude: /node_modules/,
loader: 'coffeelint-loader'
}
],
loaders: [
{ test: /\.coffee/, loader: 'coffee' },
{ test: /\.cjsx$/, loaders: ['coffee', …Run Code Online (Sandbox Code Playgroud) 我已将Capistrano配置的日志级别设置error为阻止详细输出.在deploy.rb我补充说set :log_level, :error.这非常有效.但是,当我运行命令时execute,它不会被打印,因为它是在日志级别下写的DEBUG.如何获得execute要打印的命令输出?我可以使用capture它的组合puts来输出它,但是当我必须流式传输日志时这没有用.
我需要在Mongoid中创建一个命名范围,用于比较同一文档中的两个时间字段.如
scope :foo, :where => {:updated_at.gt => :checked_at}
这显然不会起作用,因为它被视为:checked_at一个符号,而不是实际的领域.有关如何做到这一点的任何建议?
更新1
这是我的模型,我声明了这个范围,删除了许多额外的代码.
class User
include Mongoid::Document
include Mongoid::Paranoia
include Mongoid::Timestamps
field :checked_at, :type => Time
scope :unresolved, :where => { :updated_at.gt => self.checked_at }
end
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:
'<class:User>': undefined method 'checked_at' for User:Class (NoMethodError)
我正在运行Rails 3配置为使用memcached进行会话存储.我有以下设置:
development.rb
config.cache_store = :mem_cache_store
session_store.rb
Foo::Application.config.session_store :mem_cache_store, :key => '_foo_session'
我可以启动应用程序,当我转到任何页面时,我收到以下错误:
ArgumentError (key too long "rack:session:__really_long_session_key__"):
我意识到memcached键的限制是255.我怎么能绕过这个,或者我做错了什么?
我知道如何通过太阳黑子宝石对solr搜索进行分页.但是我想指定要获取的确切开始行和最大行数.
例如,类似于:
Post.search do
rows(:offset => 2, :limit => 23)
end
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
javascript ×3
ruby ×2
backbone.js ×1
capistrano ×1
capistrano3 ×1
logging ×1
memcached ×1
mongodb ×1
mongoid ×1
rack ×1
rspec ×1
solr ×1
sshkit ×1
sunspot ×1
vim ×1
warnings ×1
webpack ×1