小编mea*_*gar的帖子

使用JRuby加快RSpec速度

我对整个JRuby世界都很陌生.我在一个非常大的测试套件上使用RSpec.我希望能够经常运行规范,但JVM需要很长时间才能启动它,这将成为一个真正的时间流失.

有没有办法让JVM保持运行?或者通过JRuby让规格更快地运行的方法?

rspec ruby-on-rails jruby

16
推荐指数
1
解决办法
4752
查看次数

如何以编程方式添加属性

我想为产品添加一个属性,我想以编程方式执行此操作.所以我在我的模块中添加了一个mysql-install-0.1.0.php,我添加了这个(灵感来自现有的例子):

<?php

$installer = $this;

$installer->startSetup();

$installer->addAttribute('catalog_product', 'collection', array(
        'type'              => 'varchar',
        'backend'           => '',
        'frontend'          => '',
        'label'             => 'Collection',
        'input'             => 'text',
        'class'             => '',
        'source'            => '',
        'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
        'visible'           => false,
        'required'          => false,
        'user_defined'      => false,
        'default'           => '',
        'searchable'        => false,
        'filterable'        => false,
        'comparable'        => false,
        'visible_on_front'  => false,
        'unique'            => false,
        'apply_to'          => '',
        'is_configurable'   => false
    ));

$installer->endSetup();
Run Code Online (Sandbox Code Playgroud)

语法似乎没问题,但是当涉及到执行这部分代码时,问题就出现了:

致命错误:在/home/frleq/Dev/projets/AVIP/WORKSPACE/avip_magento/app/code/local/Smile/Magentaho/sql/magentaho_setup/mysql4-install-0.1.0中调用未定义的方法Mage_Core_Model_Resource_Setup :: addAttribute()第7行的.php

你看到了什么问题吗?代码并不是那么复杂,它的灵感来自现有的和令人担忧的......

谢谢

php magento

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

如何在脚本中包含要从命令行运行的交互式输入

我正在尝试编写一个交互式R脚本.例如:

try.R:

print("Entr some numbers. >",quote=F)
a = scan(what=double(0))
print a
q()
Run Code Online (Sandbox Code Playgroud)

现在,如果我在命令行上运行它

$ R --no-save < try.R
Run Code Online (Sandbox Code Playgroud)

它试图从try.R获取stdin,给出以下错误:

> print("Entr some numbers. >",quote=F)
[1] Entr some numbers. >
> a = scan(what=double(0))
1: print a
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  scan() expected 'a real', got 'print'
Execution halted
Run Code Online (Sandbox Code Playgroud)

我尝试了其他一些方法,但它们都给出了错误.例如:

$ R CMD BATCH try.R 
$ Rscript try.R 
Run Code Online (Sandbox Code Playgroud)

那么如何编写一个可以从*nix shell命令行运行的R脚本,并且可以从用户那里获取交互式输入?

r

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

Php类型暗示不与接口和抽象类相处?

我认为在代码示例中查看问题要比首先编写问题容易得多.这是我的PHP代码:

<?php

interface AnInterface
{
        public function method();
}    

class AClass implements AnInterface
{
        public function method()
        {
                echo __METHOD__;
        }
}    

abstract class AnAbstractClass
{
        abstract public function method( AnInterface $Object );
}

class ConcreteClass extends AnAbstractClass
{
        public function method( AClass $Object )
        {
                $Object->method();
        }
}

$Object1 = new ConcreteClass();
$Object2 = new AClass();

$Object1->method( $Object2 );
Run Code Online (Sandbox Code Playgroud)

上面的代码导致以下错误:

致命错误:ConcreteClass :: method()的声明必须与AnAbstractClass :: method()的声明兼容

问题是php似乎没有将AnAbstractClass :: method和ConcreteClass :: method的签名识别为兼容.难道我做错了什么?谢谢!

php abstract-class types interface

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

如何强制我的插件重新加载每个请求?

据我了解,在开发模式下每个请求都不会在Rails中重新加载插件.这是有道理的,因为通常您将插件添加到您的应用程序,它是您正在开发的应用程序.

但是如果你正在开发一个插件,你必须重新启动服务器,每次更改插件都会产生很大的开销.

有没有办法让Rails在开发过程中重新加载你的插件,重新加载模型和控制器的方式?

plugins ruby-on-rails reload ruby-on-rails-plugins ruby-on-rails-3

16
推荐指数
2
解决办法
3910
查看次数

backbone.js集合事件

我开发了一个jquery&backbone.js网络应用程序.
一个组件有一个html表,在这个表后面是一个backbone.js集合.
这个集合中的任何更改都应该导致更新html表,所以我写了

this.collection.bind("reset add remove", this.renderRows, this);    
Run Code Online (Sandbox Code Playgroud)

所以当更新整个集合时,更新html表,添加​​新模型以及删除模型时.

当用户悬停并点击html表的某一行时,还会调用一个详细视图组件.在这个组件的开头,我从集合中获得了正确的模型

changeModel = this.collection.get(id);
Run Code Online (Sandbox Code Playgroud)

在用户更改了某些属性后,我这样做了

changeModel.set(attrs); 
Run Code Online (Sandbox Code Playgroud)

并返回到html表.集合中的模型具有正确的更改值.

但是html表没有更新,因为没有触发3个事件(重置,添加,删除).

所以我在集合绑定中添加了"replace"

this.collection.bind("replace reset add remove", this.renderRows, this);
Run Code Online (Sandbox Code Playgroud)

在从详细信息视图返回之前,我打电话给

this.collection.trigger("replace");
Run Code Online (Sandbox Code Playgroud)

我的解决方案有效,但我的问题是:

是否有任何"原生"的backbone.js解决方案已经存在并且我已经错过了哪些我不需要自己触发的东西?

backbone.js

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

是否有可能在PHP中预测rand(0,10)?

我有一个脚本,我在PHP中使用rand函数.现在我读了一些鬼故事,它真的很容易预测那些结果.这可能来自客户端吗?

例如,假设我们有一个rand(0,10).是否有可能预测下一个数字?

php math

16
推荐指数
2
解决办法
3726
查看次数

无法摆脱"未提交的变更"

我无法摆脱我的repo似乎被锁定的状态.在重置为HEAD~1之后,我不断收到有关此单个文件被修改的通知.'add'和'checkout'没有影响.我有core.autocrlf和core.safecrlf未设置(空).

请看下面:

$ git --version
git version 1.7.9.6 (Apple Git-31.1)

$ git status

# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   a_file_name.cpp
Run Code Online (Sandbox Code Playgroud)

以下命令(单独运行)没有任何影响:

$ git checkout -- a_file_name.cpp
$ git reset a_file_name.cpp
$ git add a_file_name.cpp
$ git reset --hard
$ git clean -n
<nothing>
$ git clean -f
<nothing>

$ git status

# Changes not …
Run Code Online (Sandbox Code Playgroud)

git

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

在Rails表单中使用textarea帮助器

为什么此代码在文本区域显示错误?

<%= form_for(:ad, :url => {:action => 'create'}) do |f| %>
  <%= f.text_field(:name) %>
  <%= f.text_area_tag(:text, "", :size => "50x10") %>
  <%= submit_tag("Submit") %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

forms ruby-on-rails helper

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

在"cout"语句中调用带有"cout"语句的函数

在搞乱代码时我遇到了这种相当模糊的行为,这是一个例子:

#include <iostream>

using namespace std;


int print(void);

int main(void)
{
    cout << "The Lucky " << print() << endl;     //This line
    return 0;
}

int print(void)
{
    cout << "No : ";
    return 3;
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,带注释的语句//This line应该打印出来The Lucky No : 3,而是打印出来 No : The Lucky 3.是什么导致这种行为?这是否与C++标准有关,或者它的行为因编译器而异?

c++ cout function

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