小编Fab*_*bio的帖子

是否有Rails 3.x的调试工具栏

我在一年多前使用过Rack :: Bug,现在我想将它与新的Rails 3.1项目一起使用.我试图安装它,master和rails3分支,但没有运气.

还尝试了一些github分叉,但它们也没有用.

有没有相同功能的替代品?

PS我已经知道newrelic及其开发者模式,只是寻找其他东西,更类似于Rack :: Bug

这是一个有能力的小屏幕截图(带有调试信息的绿色工具栏)

架子鼓

debugging rack ruby-on-rails ruby-on-rails-3

11
推荐指数
1
解决办法
3543
查看次数

Gettext自动注释生成

我正在使用gettext为一个php项目做i18n.在翻译由id替换的长短语时,我想使用自动注释功能为翻译人员提供提示.我想要获得的是以下po文件

#: full-path-to-file/index.phtml:3
#. a very long text which should replaced by _('foobar')
msgid "foobar"
msgstr ""
Run Code Online (Sandbox Code Playgroud)

通过这种方式,当他foobar在程序员评论框中使用POEdit或某些模拟工具查看密钥时,翻译人员可以看到他应该翻译的内容.

我试过这个代码,但它不起作用

<?php
/// TRANSLATORS: a very long text which should replaced by _('foobar')
_('foobar');
?>
Run Code Online (Sandbox Code Playgroud)

我错过了什么或自动评论只是不适用于PHP?

即使维基百科提到这个功能,我也试图在C文件中复制他们的例子,但即使使用C,我也无法使用它.我使用的命令行是

xgettext -C -o - main.c
Run Code Online (Sandbox Code Playgroud)

但生成的输出是

#: main.c:16
#, c-format
msgid "My name is %s.\n"
msgstr ""
Run Code Online (Sandbox Code Playgroud)

所以我肯定错过了一些东西,我应该使用任何xgettext标志或特定版本来启用此功能.

php comments gettext internationalization po

10
推荐指数
1
解决办法
2984
查看次数

从spring批处理ItemProcessor返回多个项目

我正在编写一个Spring批处理作业,在我的一个步骤中,我有以下处理器代码:

@Component
public class SubscriberProcessor implements ItemProcessor<NewsletterSubscriber, Account>, InitializingBean {

    @Autowired
    private AccountService service;

    @Override public Account process(NewsletterSubscriber item) throws Exception {
        if (!Strings.isNullOrEmpty(item.getId())) {
            return service.getAccount(item.getId());
        }
        // search with email address
        List<Account> accounts = service.findByEmail(item.getEmail());
        checkState(accounts.size() <= 1, "Found more than one account with email %s", item.getEmail());
        return accounts.isEmpty() ? null : accounts.get(0);
    }

    @Override public void afterPropertiesSet() throws Exception {
        Assert.notNull(service, "account service must be set");
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作,但我发现,有些情况下有一个以上的一些优势情况下Account每个NewsletterSubscriber被允许的.所以我需要删除状态检查并将多个传递Account给项目编写者.

我找到的一个解决方案是更改两者ItemProcessor …

java spring batch-processing spring-batch itemprocessor

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

Ruby:正则表达式中的十六进制

我需要在Ruby(实际上是Rails)程序中匹配正则表达式中的md5校验和.我发现某个地方我可以将十六进制字符串与\h序列匹配,但我找不到链接了.

我正在使用该序列,我的代码在Ruby 1.9.2中工作.我甚至可以在简单的IRB下工作(所以它不是Rails扩展).

ruby-1.9.2-p180 :007 > "123abcdf" =~ /^\h+$/; $~
 => #<MatchData "123abcdf"> 
ruby-1.9.2-p180 :008 > "123abcdfg" =~ /^\h+$/; $~
 => nil 
Run Code Online (Sandbox Code Playgroud)

但是我的IDE将该表达标记为错误,我找不到任何引用该序列的引用.

\h在任何环境/版本下,Ruby Regex中的序列是合法的还是我应该相信我的ide并用类似的东西替换它[abcdef\d]

ruby regex hex

9
推荐指数
1
解决办法
6886
查看次数

如何在gitolite中安装挂钩

我已经阅读了有关钩子,类似 问题大量代码的所有文档,但我无法跟踪我的过程中的错误.我需要在我的gitolite安装中安装一个简单的钩子(在CentOS上用rpm包制作)所以这就是我做的:

要安装gitolite(前一段时间):

  1. 安装了rpm包
  2. # su - gitolite
  3. $ gl-setup /tmp/fabio.pub (作为gitolite用户)

现在安装钩子:

  1. 创建一个样本文件post-update与挂钩代码~gitolite/.gitolite/hooks/common,并chmod +x在其上
  2. gl-setup /tmp/fabio.pub如此处所述再次运行

但是没有任何反应,最新命令的退出状态为0,但钩子文件没有在任何存储库中进行符号链接.那我的手术有什么问题?我错过了什么吗?

奖金问题:

  1. 如果我理解了文档我的程序是正确的吗?即我每次更新任何钩子时都应该运行gl-setup?
  2. 通过这种方式,我在这个gitolite安装下的每个存储库中安装共享挂钩,是吗?我可以手动将挂钩作为符号链接安装到某个地方,还是仅仅为给定的存储库安装可执行脚本?我应该在给定存储库的hook文件夹中手动执行此操作吗?我是否应该关注钩子冲突(即单个存储库的任何自定义钩子是否阻止任何其他具有相同名称的共享钩子)?

不知道这是否重要,我的gitolite版本是1.5.9.1.

git gitolite githooks

9
推荐指数
1
解决办法
8597
查看次数

为什么我无法在Chrome(和Safari)中将console.log作为回调参数传递?

以下代码段会在Chrome(和Safari)中生成错误,但在Firefox中可以使用.

我希望在javascript控制台中显示2个数字,但在Chrome中我只得到第一个然后是 Uncaught TypeError: Illegal invocation

// a generic promise that return a random float
var makePromise = function() {
  return $.Deferred().resolve(Math.random());
}

// This works in all browsers
makePromise().then(function(d) {
  console.log(d);
});
// This works in firefox only
makePromise().then(console.log);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

旁注:我的问题与这个问题不一样.

更新

感谢评论和回答console.log用作回调,我们需要做

makePromise().then(console.log.bind(console));
Run Code Online (Sandbox Code Playgroud)

javascript firefox google-chrome function jquery-deferred

9
推荐指数
1
解决办法
1390
查看次数

Rails - 包括与动态条件的关联

给定学校模型和学生模型,学校与学生有很多关系:

has_many :students, :conditions => proc  { "year_id=#{send(:active_year_id)}" }
Run Code Online (Sandbox Code Playgroud)

其中active_year_id是学校模型中定义的方法,我在调用时遇到"active_year_id未定义"的错误:

School.where(:active => true).includes(:students)
Run Code Online (Sandbox Code Playgroud)

当我这么做时,情况正常

School.where(:id => 10).students
Run Code Online (Sandbox Code Playgroud)

只有当我尝试使用包含时才会出现错误.这是正确的行为吗?如果没有,我做错了什么,我该如何解决?

使用Rails 3.0.9,REE 1.8.7.

activerecord ruby-on-rails ruby-on-rails-3

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

使用"导入导出向导"将数据从Excel导入到Sql Server时,如何更改列的默认varchar 255?

我正在尝试使用导入向导将数据从excel导入到Sql Server.在第一步中,一切似乎都很好.该向导能够读取excel文件并正确识别列.但是在进程实际运行的最后一步中,它没有给出以下错误:

错误0xc020901c:数据流任务1:输出"Excel源输出"(9)上的输出列"AlternateName"(24)出错.返回的列状态为:"文本被截断,或者目标代码页中的一个或多个字符不匹配.".(SQL Server导入和导出向导)

错误0xc020902a:数据流任务1:"输出列"AlternateName"(24)"失败,因为发生了截断,并且"输出列"AlternateName"(24)"上的截断行处置指定了截断失败.指定组件的指定对象上发生截断错误.(SQL Server导入和导出向导)

错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED.组件"Source - Sheet1 $"(1)上的PrimeOutput方法返回错误代码0xC020902A.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.在此之前可能会发布错误消息,其中包含有关失败的更多信息.(SQL Server导入和导出向导)

列AlternateName的最大数据长度为658个字符.目标表将AlternateName列定义为varchar(1000).所以我不确定为什么我会收到这个错误.但后来我注意到了这一点

在此输入图像描述

我有预感,这可能导致问题.但是,如何更改定义为varchar 255的Source列?

sql-server import-from-excel

8
推荐指数
1
解决办法
1万
查看次数

用于模型中动态自定义字段的Rails gem/plugin

ruby on rails上是否有任何gem/plugin,它能够在运行时在模型中定义自定义字段,而无需为每个不同的字段更改模型本身.

我正在寻找像Redmine acts_as_customizable插件这样的东西,它被封装为可用于rails方式的gem,即

gem 'gemname'
rails g something
rails db:migrate

class Model < ActiveRecord::Base
  acts_as_something
end
Run Code Online (Sandbox Code Playgroud)

以下是Redmine中使用的CustomFieldCustomValue类.

编辑:

由于我的问题不明确,我添加了一个简短的用例,更好地解释了我的需求:

我希望用户能够设计自己的表单,并收集在这些表单上提交的数据.一个重要的决定是如何存储和访问这些自定义动态记录的设计.

这里开始,在本文中用不同的想法来解决问题,但它们都有缺点.出于这个原因,我问是否已经在一些宝石中找到了问题而无需重新考虑整个问题.

activerecord ruby-on-rails dynamic-data ruby-on-rails-plugins

8
推荐指数
2
解决办法
4296
查看次数

类加载隔离是否适用于jboss 5.1.x.

我有一个非常标准的java应用程序,它使用maven一些非常常见的库,包括

  • 弹簧
  • Hibernate ORM
  • Hibernate验证器
  • Log4j的

该应用程序由两个共享依赖项的war模块组成.

在开发过程中,我们使用了jetty和tomcat,一切正常.现在我们即将部署在生产环境中,我们对此环境有一些限制:

  • 应用程序必须部署在已配置的jboss 5.1.x实例中,该实例在$ JBOSS_HOME/common/lib /和$ JBOSS_HOME/server // lib /下都有大量库,显然这些目录中有很多重复的jar (特别是log4j和hibernate验证的东西)
  • 我们无法更改包含的JBoss配置或库
  • 我们需要提供单个ear存档作为要部署的最终工件
  • 某些应用程序代码依赖于比提供的库更新的库

maven生产的耳朵的最终结构是

application.ear
??? META-INF
?   ??? application.xml
?   ??? jboss-classloading.xml
??? lib
?   ??? long list of shared jars
?   ??? ...
?   ??? // some of key libraries which also are in AS lib folder
?   ??? hibernate-validator-4.3.1.Final.jar
?   ??? jaxb-impl-2.1.10.jar
?   ??? log4j-1.2.17.jar
?   ??? slf4j-api-1.5.5.jar
?   ??? slf4j-log4j12-1.5.5.jar
?   ??? validation-api-1.0.0.GA.jar
??? webapp1.war
??? webapp2.war
Run Code Online (Sandbox Code Playgroud)

在我们的pom中,标记为提供的唯一两个工件是这些,因此我们需要在容器中提供它们.

<dependency> …
Run Code Online (Sandbox Code Playgroud)

java jboss hibernate classloader maven

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