Ruby on rails 按{attribute}查找{u all}不适用于activerecord 4.1.5

Ruby on rails 按{attribute}查找{u all}不适用于activerecord 4.1.5,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,我使用find_all_by从活动记录中获取返回的数组,此功能在Rails4.0.0中运行良好 Loading production environment (Rails 4.0.0) 2.0.0-p353 :001 > Subscription.find_all_by_id 123 => [] 但当我将其更改为Rails4.1.5时,find_all_by不起作用,并抛出未定义的方法错误 Loading production environment (Rails 4.1.5) 2

我使用find_all_by从活动记录中获取返回的数组,此功能在Rails4.0.0中运行良好

Loading production environment (Rails 4.0.0)
2.0.0-p353 :001 > Subscription.find_all_by_id 123
=> []
但当我将其更改为Rails4.1.5时,find_all_by不起作用,并抛出未定义的方法错误

Loading production environment (Rails 4.1.5)
2.0.0-p481 :001 > Subscription.find_all_by_id 123
NoMethodError: undefined method `find_all_by_id' for #<Class:0x00000004d71b68>
    from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/activerecord-4.1.5/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
    from (irb):1
    from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/railties-4.1.5/lib/rails/commands/console.rb:90:in `start'
    from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/railties-4.1.5/lib/rails/commands/console.rb:9:in `start'
    from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:69:in `console'
    from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/railties-4.1.5/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
    from /usr/local/rvm/gems/ruby-2.0.0-p481/gems/railties-4.1.5/lib/rails/commands.rb:17:in `<top (required)>'
有什么办法可以解决这个问题吗?

这个怎么样

Subscription.where(id: "123").to_a

对于其他一直试图让find_all_by工作但没有成功的人来说,find_all_by已被弃用并从rails中删除


来源:

它仍然不起作用。2.0.0-p481:010>Subscription.findid:123.to_aEdited。您要找的是字符串还是整数?