小编Vol*_*lte的帖子

Ruby on Rails:删除多个哈希键

我经常发现自己在写这个:

params.delete(:controller)  
params.delete(:action)  
params.delete(:other_key)  
redirect_to my_path(params)  
Run Code Online (Sandbox Code Playgroud)

删除的痕迹感觉不对,也没有:

[:controller, :action, :other_key].each do |k|
  params.delete(k)
end
Run Code Online (Sandbox Code Playgroud)

有什么更简单,更清洁的吗?

ruby ruby-on-rails

146
推荐指数
6
解决办法
6万
查看次数

FactoryGirl继承属性已定义

好吧,伙计们.这怎么有意义呢?两个嵌套工厂(被FactoryGirl视为继承)不应相互冲突.到底他妈发生了什么?它不是继承,也不是.我不知道为什么他们称之为继承,如果不是.我只是做错了吗?(通知f.account_type)

看看下面的工厂定义.

factory :partner do |f|
  f.company_name { Faker::Company.name }
  f.username { Faker::Internet.user_name }
  f.password { Faker::Internet.password }
  f.password_confirmation { password }
  f.pid { Faker::Lorem.word }

  f.association :primary_contact

  # Inherited
  factory :business_partner do
    f.account_type "business"
    f.tax_id { Faker::Company.duns_number }
  end

  # Inherited
  factory :personal_partner do
    f.account_type "personal"
    f.ssn { Faker::Company.duns_number }
  end

end
Run Code Online (Sandbox Code Playgroud)

当我运行我的测试时,我收到此错误.

Failure/Error: partner = FactoryGirl.create(:business_partner)
  FactoryGirl::AttributeDefinitionError:
    Attribute already defined: account_type
Run Code Online (Sandbox Code Playgroud)

而且为了完整性,我的规格.

# spec/models/partner.rb
require 'spec_helper'
require 'pp'

describe Partner do

  it "has a valid factory" …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails-4 factory-bot

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

构建一个依赖于非const正确库的const-correct(C++)库

我正在用C++建立一个图书馆(主要是为了好玩)我已经工作了一段时间了(几年,哈哈,这只是一个爱好)

我最近将一些基础(读取,库依赖)切换到另一个库.不幸的是,所述库并不关心'const-correctness'.我有点强迫症,我喜欢挑战自己做"正确的方式",所以我想让我的库保持正确.我已经开始了几次,有些部分是; 我知道最好从一开始就开始使用const-for,但这并不是真的相关或争论不休.事实是,我有兴趣再次认真考虑,但另一个图书馆阻止我这样做.

怎么样,你可能会问?

好吧,如果我正在调用一个显然应该是const的方法(实际上没有改变任何东西),并且我的方法也是consting(新词)的候选者,我无法确保我的方法的常量,直到其他方法也是const.

例:

// Bad third-party library

struct Foo
{
    void should_be_const() {}
};

// My library

struct Bar
{
    Foo my_foo;
    void should_be_const() const
    {
        my_foo.should_be_const(); // ERROR!  Not a const function!
    }
};
Run Code Online (Sandbox Code Playgroud)

这只有我从经验证据和我对有关常数的研究和理解中才能看出来.然而,这可能是一种错误形成的理解,所以我是开放的(并且有希望?)它是错误的并且以其他方式显示(尽管这会动摇我对常数的理解的基础哈哈)

如果他(或她)想要写一个合适的图书馆,但依赖性不是这样编写的话,那么做一个可怜的灵魂是什么?

我希望这是一个适合SO的问题.请(我相信你会)让我知道它是不是或者是否有更好的StackExchange网站发布.

PS我发现了这个问题,但我希望能够详细阐述主题/解决方案.

c++ const-correctness

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

如何以角度扩展$ http服务?

不幸的是,我们的运行速度为1.2.26(当它被宝石化时会升级到1.2.28).

在此期间,我如何修补(heh)$ http以便可以使用简写patch方法?我对整个服务/工厂/模块的事情都很陌生.我已经做了几个小时的搜索,似乎无法弄明白.

myApp.factory('patchedHTTP', function($http, BasicService) {
  // $http['patch'] = function(url, data, config) {
  //   return $http(angular.extend(config || {}, {
  //     method: 'patch',
  //     url: url,
  //     data: data
  //   }));
  // };
  var extended = angular.extend(BasicService, {});
  extended.createShortMethodsWithData('patch');
  return extended;
});
Run Code Online (Sandbox Code Playgroud)

以上是我得到的最好的......它没有做任何XD

angularjs angular-http

6
推荐指数
1
解决办法
2388
查看次数

C++指针参数在'ret'指令之前设置为NULL

我有一个奇怪的问题.我以为我知道一定数量的C++,但我必须忽略一些细微差别?

我有一些模板化的类,基本上所有发生的事情都是基于某些条件,一个对象正从一个std :: list移动​​到另一个.

这里关注的方法是doAndGet(T*t).我的目的是让T对来作为NULL(或什么的,我真的不在乎,但它应该是NULLnullptr,如果我结束了移动T元素*t,从myListmyOtherList,我想T *t以指向已移动的项目.

现在也许有一些std::list我不知道的事情,但是当我踩过我的代码时,t得到了正确的分配 - 原来我想在返回的方法之后,但后来发现 - 就在ret指令之前,参数T *t被设置回NULL

任何一位大师都可以对这个问题有所了解吗?对我来说这真是令人头疼的事......

template<typename T, typename C>
class Base : IsDerivedFrom<T, C>
{
public:
    typedef std::list<T*> SpecialList;
    virtual bool doAndGet( T* t ) = 0;

protected:

    SpecialList myList;
};

template<typename T>
class Derived : public Base<T, Other>, public Other
{
public:
    Derived( void );
    virtual …
Run Code Online (Sandbox Code Playgroud)

c++ templates pointers arguments

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

如何使用java spring bean动态分配枚举值

我有以下代码:

package vb4.email;

import org.springframework.beans.factory.annotation.Value;

public enum ValidAddresses {

    // TODO: Is there a cleaner way to switch debugs?
    // How do we make this bean-able?

    @Value("${email.addresses.defaults.support}")
    DEFAULT_SUPPORT_ADDRESS("support@example.com"),
    @Value("${email.addresses.defaults.performance}")
    DEFAULT_PERFORMANCE_SUPPORT_ADDRESS("speed@example.com");

    private final String email;

    private ValidAddresses(final String email){
        this.email = email;
    }

    @Override
    public String toString()
    {
        return this.email;
    }
}
Run Code Online (Sandbox Code Playgroud)

从我的@Value注释中可以看出,我正在寻找"豆化"这个过程.我希望枚举的好处作为构造,但我想在我们的.properties文件中进行配置.请记住,具有所有key = value对的.properties文件在整个站点中被广泛使用.

请保留你的答案; 我不打算辩论已经存在的有效性.(相信我,我理解你的沮丧).

java spring javabeans

2
推荐指数
1
解决办法
4211
查看次数

为什么git commit(vim?)会以这种方式为消息着色?

问题几乎说明了一切.我想更具体地说,这是一个"标准"警告吗?它试图告诉我不要做多行提交消息,或者如果我想做一个多行提交消息,它需要从一个新行开始?只是困惑/好奇.它也可能是一个错误.

PS我的编辑器是vim.

没有新线用新线

git vim

2
推荐指数
1
解决办法
437
查看次数