我经常发现自己在写这个:
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)
有什么更简单,更清洁的吗?
好吧,伙计们.这怎么有意义呢?两个嵌套工厂(被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) 我正在用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我发现了这个问题,但我希望能够详细阐述主题/解决方案.
不幸的是,我们的运行速度为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
我有一个奇怪的问题.我以为我知道一定数量的C++,但我必须忽略一些细微差别?
我有一些模板化的类,基本上所有发生的事情都是基于某些条件,一个对象正从一个std :: list移动到另一个.
这里关注的方法是doAndGet(T*t).我的目的是让T对来作为NULL(或什么的,我真的不在乎,但它应该是NULL或nullptr,如果我结束了移动T元素*t,从myList到myOtherList,我想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) 我有以下代码:
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文件在整个站点中被广泛使用.
请保留你的答案; 我不打算辩论已经存在的有效性.(相信我,我理解你的沮丧).
问题几乎说明了一切.我想更具体地说,这是一个"标准"警告吗?它试图告诉我不要做多行提交消息,或者如果我想做一个多行提交消息,它需要从一个新行开始?只是困惑/好奇.它也可能是一个错误.
PS我的编辑器是vim.