小编der*_*use的帖子

如何解决延迟作业中的反序列化错误?

我正在尝试使用DelayedJob并且作业失败,在数据库中出现以下错误:

{Delayed::DeserializationError
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/serialization/active_record.rb:7:in `yaml_new'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `transfer'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `node_import'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/backend/base.rb:79:in `payload_object'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/backend/base.rb:87:in `invoke_job_without_newrelic_transaction_trace'
(eval):3:in `invoke_job'
/Library/Ruby/Gems/1.8/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:252:in `perform_action_with_newrelic_trace'
/Library/Ruby/Gems/1.8/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/method_tracer.rb:141:in `trace_execution_scoped'
/Library/Ruby/Gems/1.8/gems/newrelic_rpm-2.13.4/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:247:in `perform_action_with_newrelic_trace'
(eval):2:in `invoke_job'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:120:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:62:in `timeout'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:120:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:119:in `run'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:177:in `reserve_and_run_one_job'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:104:in `work_off'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:103:in `times'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:103:in `work_off'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:78:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:77:in `start'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:74:in `loop'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/worker.rb:74:in `start'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.3/lib/delayed/tasks.rb:9
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in …

ruby-on-rails delayed-job deserialization

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

从epoch计算毫秒数

鉴于我有:mm,dd,yy,hh:mm,am/pm,从epoch转换数据到毫秒的推荐/最简单方法是什么?

javascript time date

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

从Mysql2抢救::错误

我有一个简单的问题.我有一个连接表,其索引确保(col 1,col 2)是唯一的.

我使用mysql2 gem添加到该表,并尝试捕获Mysql2 :: Error,如果尝试导致重复键错误.当我收到重复键错误时,我的救援主体没有被执行.

begin
  self.foo << bar
rescue Mysql2::Error
  logger.debug("#{$!}")
end
Run Code Online (Sandbox Code Playgroud)

执行时我收到以下错误 self.foo << bar

Mysql2 ::错误:键'index_foos_bars_on_foo_id_and_bar_id'的重复条目'35455-6628':INSERT INTO foos_bars(foo_id,bar_id)VALUES(35455,6628)

但我的救援声明没有被击中!该例外未能成功获救.我究竟做错了什么?如果我删除Mysql2 :: Error并为所有事情进行救援,那么它可行.但这是不好的做法 - 我只是想在重复输入的情况下从Mysql2 :: Error中解救出来.

谢谢,

ruby-on-rails exception mysql2

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

如何在托管提供商之间移动git存储库

我目前使用Assembla进行git托管.我想将我的git存储库移动到github主机.我以前从未这样做过 - 这个过程是什么?显然,我想保留我之前的所有提交/更改等...

谢谢.

git github assembla

12
推荐指数
2
解决办法
2522
查看次数

ruby on rails has_one与unique关联

嘿,我有一个模特foo,有一个吧.并且bar belongs_to foo.我想知道是否有办法增加has_one,使得没有两个条可以属于同一个foo.我查看了has_one的文档,似乎没有:uniq参数,我可以指定.那么我是否必须创建自定义验证才能实现此目的?或者有更简单的方法吗?

谢谢.

model ruby-on-rails has-one belongs-to

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

简单的喜欢/不像带有rails 3,jquery和ajax的按钮

我有一个产品,用户和类似的模型.用户可以喜欢产品.我正在尝试实现一个简单的按钮,只需点击一下,就可以让用户喜欢产品.然后,like按钮转换为不同的按钮,允许用户不同于产品.非常直截了当.

我已经为上面实现了模型/控制器逻辑.我对javascript/ajax不是很了解,并且想知道实现上述功能的最佳方法是什么.我想通过ajax处理喜欢/不同的动作.我正在为我的应用程序使用rails 3和jquery ujs.

谢谢.

ajax jquery ujs ruby-on-rails-3

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

rails 3 - ajax形式ajax:未被调用的成功事件

经过多次故障排除后,我无法弄清楚为什么我的表单是ajax:在rails 3中没有调用成功回调.

以下是我在视图中最终生成的代码:

JS代码:

$(function() {
  $("#myform").bind('ajax:success', function(data, status, xhr) {
    alert("form success");
    console.log(data);
    console.log(status);
  }).bind('ajax:error', function(xhr, status, error) {
    console.log(error);
    console.log(status);
  });
});
Run Code Online (Sandbox Code Playgroud)

Ajax表格:

<form accept-charset="UTF-8" action="/myc/mya" data-remote="true" id="myform" method="post">       <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="hZuhxwboQj2qo8MPIR8DWwYMqAC1V2yqG+DX9UnlIr0=" /></div>
          <input class="large" id="foo" name="foo" type="text" />
        <input class="btn success" data-disable-with="Working..." name="commit" type="submit" />
        </form>
Run Code Online (Sandbox Code Playgroud)

遵循表单发布到的操作中发生的逻辑:

 @foo = { :foo => "bar" }
 render(:json => @foo.to_json, :content_type => 'application/json',
        :layout => false)
Run Code Online (Sandbox Code Playgroud)

我有Firebugged这整个请求/响应:

It says 200 OK. And the Response …
Run Code Online (Sandbox Code Playgroud)

forms ajax jquery ruby-on-rails

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

React.createRef始终为null

我可能在这里做了一些非常愚蠢的事情,但对于我的生活,我无法弄清楚为什么ref总是空的.

import React, { PureComponent } from 'react';

class MyComponent extends PureComponent {
  constructor(props) {
    super(props);
    this.myRef = React.createRef();
    console.log(this.myRef);
  }

  componentDidMount() {
    console.log(this.myRef);
  }

  componentWillUnmount() {
    console.log('unmounting');
  }

  render() {
    console.log(this.myRef);
    return (
      <div ref={this.myRef}>
        foobar
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

安慰:

{current: null}
{current: null}
{current: null}
Run Code Online (Sandbox Code Playgroud)

我在React 16.3上.我错过了什么?

reactjs

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

OpenSSL - 既不是PUB密钥也不是PRIV key ::嵌套asn1错误

我试图使用公钥初始化OpenSSL :: PKey :: RSA,但它无法正常工作.

以下是密钥对:

-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBALbkpbDFbZ54bM5ybwwdCqsUHjxWQF4B0Q1sAOBFEYdpxZJZ8dAz
ycPzIgSlPc8yqjeqwJQtvCpktrntALpX1ksCAwEAAQJAYT0XyvBs48BrOSgmWm5m
aab8nF/PQSv+FgDCRnryYue3WZOpUqITB0w6ivC68G/+Mf6IXyE4ljqw2iIAdjyv
YQIhAOE20o2bLPMtziEOdH0KGpN0gNYpe38jGyvGw7k5gZd9AiEAz+TWZRJpc9yX
5dew3xcBtIhaTPFmVLgmfU7FwIWW32cCIQCvKK9LmUO1gouN5CsvUNtokbTeW/cD
467vNjDlb1deFQIhAK55pZ1p2GrOpgTWArEYg+vZy79rkbBkZJkh9UFgXIDdAiBm
Rglcmt9cD2Vqg7xMr7cP3FJbSmJffSwYve1fazuZOw==
-----END RSA PRIVATE KEY-----

-----BEGIN PUBLIC KEY-----
MEoCAQACQLbkpbDFbZ54bM5ybwwdCqsUHjxWQF4B0Q1sAOBFEYdpxZJZ8dAzycPz
IgSlPc8yqjeqwJQtvCpktrntALpX1ksCAwEAAQ==
-----END PUBLIC KEY-----

OpenSSL::PKey::RSA.new(private_key) # WORKS!
OpenSSL::PKey::RSA.new(public_key) # FAILS!
OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key:: nested asn1 error
    from (irb):16:in `initialize'
    from (irb):16:in `new'
    from (irb):16
    from /Users/dhracker/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.8/lib/rails/commands/console.rb:47:in `start'
    from /Users/dhracker/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.8/lib/rails/commands/console.rb:8:in `start'
    from /Users/dhracker/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.8/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

another_public_key = OpenSSL::PKey::RSA.new(512).public_key
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMS6XZD2NHTCwdgT+A2/PkStyJwYX/Qu
mfCyZc5TE5IZYaKsBg4uGcI97r8lxEv6rx5b0b6cIwQ7A7e6CUVph5MCAwEAAQ==
-----END PUBLIC KEY----- …
Run Code Online (Sandbox Code Playgroud)

ruby openssl rsa

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

内置方法在ruby中合并两个排序列表

我有两个Foo对象列表.每个Foo对象都有一个时间戳Foo.timestamp.两个列表最初按时间戳按降序排序.

我想以一种方式合并两个Foo对象的列表,其中最终列表也按时间戳按降序排序.

实现这一点并不难,但我想知道是否有任何内置的Ruby方法可以做到这一点,因为我认为内置方法将产生最佳性能.

谢谢.

ruby sorting

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