小编Abe*_*bel的帖子

使用ActiveRecord,有没有办法在after_update期间获取记录的旧值

使用一个简单示例进行设置:我有一个table(Totals),它保存amount第二个表(Things)中每个记录的列的总和.

thing.amount更新时,我想简单地添加旧值和新值之间的差异total.sum.

现在我正在减去self.amount期间before_updateself.amount在期间添加after_update.这使得WAY过于信任更新成功.

约束: 我不想简单地重新计算所有交易的总和.

问题:很简单,我想在after_update回调期间访问原始值.你有什么方法可以做到这一点?

更新:我将采用Luke Francl的想法.在after_update回调期间,您仍然可以访问self.attr_was我想要的值.我还决定使用after_update实现,因为我想在模型中保留这种逻辑.这样,无论我将来如何决定更新交易,我都知道我正在更新交易总和.感谢大家的实施建议.

activerecord model ruby-on-rails callback

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

有没有办法使用xcode/iphone sim模拟多个iphone?

我正在计划一个需要多个用户的游戏,我想知道是否有办法启动iPhone模拟器的多个实例.我没有在菜单或Google搜索结果中看到任何内容,但我只是想确保我没有遗漏任何内容.

iphone xcode simulator

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

将System从iphone发布到.NET webservice时出现'System.InvalidOperationException:请求格式无效:multipart/form-data'错误

我正试图将图像从iphone应用程序发布到.Net webservice,我遇到了这个错误.我已经根据这篇kb文章更新了我的web.config ,我可以成功发布到以字符串为参数的方法.我的问题是尝试使用图像发布数据.我试过这种方式那种方式发布,但两种方式我最终都会遇到同样的错误:


System.InvalidOperationException: Request format is invalid: multipart/form-data; charset=utf-8; boundary=0xKhTmLbOuNdArY.
   at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
   at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
Run Code Online (Sandbox Code Playgroud)

这是我的webservice签名:


[WebMethod]
public XmlDocument UploadImageToServer(string usertoken, byte[] image)
{ 
   //stuff happens in here
}
Run Code Online (Sandbox Code Playgroud)

..这是我最近的尝试:


- (void)sendImageToServer:(NSURL *)serivceURL withUserToken:(NSString *)usertoken
{
 NSData *imageData = UIImageJPEGRepresentation(self.selectedImage, 1.0f);

 ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:serviceURL] autorelease];
 [request setPostValue:usertoken forKey:@"usertoken"];
 [request setData:imageData forKey:@"image"];
 [request setDelegate:self];
 [request startAsynchronous];

 NSLog(@"We set the request out!");

}
Run Code Online (Sandbox Code Playgroud)

此外,我将我的httpRuntime最大请求长度增加到40MB(<httpRuntime maxRequestLength="40960"/>)只是为了确保问题不是我的图像大小,但错误仍然存​​在.

任何帮助,将不胜感激.

-一个

.net web-services file-upload objective-c

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

有没有办法看到我曾经在fogbugz工作过的所有案例

假设我们有以下情况:

  1. Jen Ninja(一个名字很棒的开发人员)喜欢看下面的列表视图过滤器:

    所有打开的案例分配给Jen Ninja,状态为Active

  2. Jen Ninja被分配了一堆案例(其中一些是bug,其中一些是功能).

  3. Jen看着她的过滤列表并看到它们.没问题.

  4. Jen Ninja敲打了她的所有案件,然后他们被分配到各种QA人员.

  5. 在发布前两天,Jen的老板在这里问道:"你工作的所有东西是什么?"

  6. Jen有一个不错的记忆,但看到Fogbugz说她工作的东西会更舒服.

Jen如何更改她的过滤器以便她可以放心地回答这个问题?

fogbugz filtering case filter

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

如何在一个rake任务中删除测试和开发数据库?

我试图从一个rake任务中删除测试和开发数据库,​​如下所示:

task :regenerate do
  Rails.env = "test"
  Rake::Task["db:drop"].invoke
  Rails.env = "development"
  Rake::Task["db:drop"].invoke
end
Run Code Online (Sandbox Code Playgroud)

测试数据库已成功删除.但是开发数据库没有被删除.

关于如何使这项工作的任何想法?

注意:这是在Rails 3.2.3上

更新:

非常奇怪,但逆转顺序有效:

task :regenerate do
  Rails.env = "development"
  Rake::Task["db:drop"].invoke
  Rails.env = "test"
  Rake::Task["db:drop"].invoke
end
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?!

ruby-on-rails ruby-on-rails-3.1

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