如何\n
在Sublime Text中替换真正的编辑器内显示的新行,这样:
foo\nbar
Run Code Online (Sandbox Code Playgroud)
变为:
foo
bar
Run Code Online (Sandbox Code Playgroud)
当我在其中查看文件时,在编辑器中.
我正在尝试使用正则表达式将大写字母替换为相应的小写字母.以便
EarTH: 1,
MerCury: 0.2408467,
venuS: 0.61519726,
Run Code Online (Sandbox Code Playgroud)
变
earth: 1,
mercury: 0.2408467,
venus: 0.61519726,
Run Code Online (Sandbox Code Playgroud)
在Sublime Text中.如何只在包含小写和大写字母的单词中包含字母?这样它影响venUs
而不影响VENUS
.
我正在尝试使用回调方法addToCount
而不是匿名函数forEach
.但我无法访问this.count
它(返回undefined
).
function Words(sentence) {
this.sentence = sentence;
this.count = {};
this.countWords();
}
Words.prototype = {
countWords: function() {
var words = this.sentence.split(/\W+/);
words.forEach(this.addToCount);
},
addToCount: function(word) {
word = word.toLowerCase();
if (word == '') return;
if (word in this.count)
this.count[word] += 1;
else
this.count[word] = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为问题在于范围.如何传递this
到addToCount
或有任何其他方式,使其工作?
我有一个文本文件例如.检查Ruby文件为空的最佳方法是什么?
File.size('test.rb') == 0
看起来很难看.
我用YAML注册了TranslationServiceProvider,它运行正常:
$app->register(new TranslationServiceProvider(), array(
'locale_fallback' => 'ru',
));
$app['translator'] = $app->share($app->extend('translator', function($translator, $app) {
$translator->addLoader('yaml', new YamlFileLoader());
$translator->addResource('yaml', CONTENT_PATH . '/locales/en.yml', 'en');
return $translator;
}));
Run Code Online (Sandbox Code Playgroud)
然后我注册ValidationServiceProvider,如下所示:
$app->register(new Silex\Provider\ValidatorServiceProvider());
Run Code Online (Sandbox Code Playgroud)
当我注册验证时,翻译停止工作.应翻译的所有字符串都不会被翻译而没有错误.我正在改变countroller中的语言环境,所以它可能与它有关:
$en->get('/{slug}', function (Silex\Application $app, $slug) {
$app['locale'] = 'en';
Run Code Online (Sandbox Code Playgroud) 我需要在ActiveAdmin页面中呈现部分内容.我正在尝试这样的事情:
form(:html => { :multipart => true }) do |f|
f.inputs "???????? ?????? #{f.object.name if f.object.name}" do
f.input :name, :required => true
f.input :brand
f.input :category
f.input :created_at, :wrapper_html => { :class => 'inline-list' }
f.input :updated_at, :wrapper_html => { :class => 'inline-list' }
f.actions
end
content do
render partial: 'fancybox'
end
end
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我的部分内容替换了表单内容.我想我需要一个正确的包装元素,render
但使用panel
并没有成功.有什么想法吗?
我想缩小raise if
到一行.我有:
def hey(self, message):
if not message:
raise ValueError("message must be a string")
Run Code Online (Sandbox Code Playgroud)
它工作,但这段代码不起作用:
def hey(self, message):
raise ValueError("message must be a string") if not message
Run Code Online (Sandbox Code Playgroud)
我得到SyntaxError: invalid syntax
.我该怎么办?
我有一个 Rails 应用程序连接到另一个 Rails 应用程序数据库。他们有几种常见的型号。使用控制台时,一切正常(ActiveRecord 可以正确查询表),但使用 Web 服务器时,Rails 会检查挂起的迁移并引发错误Migrations are pending
。我想通过此检查,因为这两个应用程序有不同的迁移。然后启动服务器。我试过:
config.active_record[:migration_error] = false
config.active_record.migration_error = false
Run Code Online (Sandbox Code Playgroud)
但没有运气。如何让 Rails 忽略那些待处理的迁移?跳过这个检查?或者有没有办法以某种方式命名它们,或者设置适当的mtime
, 到最后的迁移文件?
我正在尝试使用Spec语法运行Minitest rake test
并出现以下错误:
/path/to/gem/spec/script_spec.rb:3:in `<top (required)>': uninitialized constant MyGem (NameError)
Run Code Online (Sandbox Code Playgroud)
我的Rakefile:
require 'rake/testtask'
Rake::TestTask.new do |t|
t.test_files = FileList['spec/*_spec.rb']
end
Run Code Online (Sandbox Code Playgroud)
我的文件结构:
gem/
--lib/
----script.rb
--spec/
----script_spec.rb
--Rakefile
Run Code Online (Sandbox Code Playgroud)
我的script.rb:
module MyGem
class OptionParser
def self.option?(arg)
arg =~ /^-{1,2}\w+$/
end
end
end
Run Code Online (Sandbox Code Playgroud)
在script_spec.rb中使用Minitest :: Spec语法:
require "minitest/autorun"
describe MyGem::OptionParser do
describe "option?" do
it "must be true for option name" do
OptionParser.option?('--nocolor').assert true
end
end
end
Run Code Online (Sandbox Code Playgroud)
我如何解决它?也许lib
文件夹未加载?我会错过与Spec语法相关的内容吗?
我正在尝试在我的应用程序中实现像 Trello 这样的看板敏捷板。我想知道如何以最好的方式做到这一点。我正在考虑这些实体:
董事会
有很多清单
列表中
有很多卡
卡片
包含一些内容
但是我一直坚持卡片的订购。每张卡片都应该有一个排序位置,以便按列表中的特定顺序对卡片进行排序。拖动卡片时,我应该更改它的位置并将其保存在数据库中。做到这一点最有效的方法是什么?
向每张卡片添加一个position
字段似乎是多余的,因为在将一张卡片拖到不同的位置(将有数百张卡片)后,我必须重新计算列表中(或两张)所有卡片的位置。我正在考虑将所有卡 id 的数组存储在列表中,并按该数组对卡进行排序。该解决方案的优点/缺点是什么?还有更好的解决方案吗?
我正在使用 Ruby on Rails 和 PostgreSQL。
更新
使用@cske回答我想出了以下解决方案:
CREATE OR REPLACE FUNCTION move_buyer_card(
new_list_id INT
, param_id INT
, new_position INT
) RETURNS FLOAT4
LANGUAGE plpgsql SECURITY DEFINER
AS $$
DECLARE
var_lower_bound FLOAT4;
var_upper_bound FLOAT4;
var_new_weight FLOAT4; /*between 0 and 1*/
BEGIN
IF new_position < 2 THEN /*first position*/
var_lower_bound := 0;
SELECT MIN(weight) FROM Buyers
WHERE board_list_id = new_list_id
INTO var_upper_bound;
IF var_upper_bound IS …
Run Code Online (Sandbox Code Playgroud) architecture postgresql ruby-on-rails application-design kanban
ruby ×2
sublimetext ×2
sublimetext2 ×2
sublimetext3 ×2
activeadmin ×1
activerecord ×1
architecture ×1
javascript ×1
kanban ×1
minitest ×1
postgresql ×1
python ×1
silex ×1
symfony ×1