Ruby on Rails中,Active Record ID与Object ID如何转换为Active Relation?
- 内容介绍
- 文章标签
- 相关推荐
本文共计371个文字,预计阅读时间需要2分钟。
我一直在收到这样的信息:警告:不建议使用Object
我一直在收到这样的消息:警告:不推荐使用Object#id;使用Object#object_id
我从Ruby Object#id warnings and Active Record开始阅读并尝试了这些技巧但没有成功:
108-125-94-123:toptickets johnnygoodman$rails c Loading development environment (Rails 3.0.3) >> ticket_id = 8899 => 8899 >> ticket = Ticket.where(:number => ticket_id) => [#<Ticket id: 97, name: "Set Up API to Feed Customer Info into Bronto ", number: "8899", category_id: 15, created_at: "2011-01-31 21:24:29", updated_at: "2011-01-31 21:24:29", position: 20>] >> ticket.id (irb):3: warning: Object#id will be deprecated; use Object#object_id => 2175680980 >> ticket[:id] TypeError: Symbol as array index from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation.rb:363:in `[]' from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation.rb:363:in `send' from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation.rb:363:in `method_missing' from (irb):4 >> ticket.class => ActiveRecord::Relation
我希望当我查询票证时,它将属于ActiveRecord :: Base类.我不知道该怎么做才能实现这一目标,或者我应该采取的方向.
目标:查询故障单,打印其ID.在上面的示例中,id的值应为97.
也许你只想要第一个结果?
>> ticket = Ticket.where(:number => ticket_id).first >> puts ticket.id => 97
本文共计371个文字,预计阅读时间需要2分钟。
我一直在收到这样的信息:警告:不建议使用Object
我一直在收到这样的消息:警告:不推荐使用Object#id;使用Object#object_id
我从Ruby Object#id warnings and Active Record开始阅读并尝试了这些技巧但没有成功:
108-125-94-123:toptickets johnnygoodman$rails c Loading development environment (Rails 3.0.3) >> ticket_id = 8899 => 8899 >> ticket = Ticket.where(:number => ticket_id) => [#<Ticket id: 97, name: "Set Up API to Feed Customer Info into Bronto ", number: "8899", category_id: 15, created_at: "2011-01-31 21:24:29", updated_at: "2011-01-31 21:24:29", position: 20>] >> ticket.id (irb):3: warning: Object#id will be deprecated; use Object#object_id => 2175680980 >> ticket[:id] TypeError: Symbol as array index from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation.rb:363:in `[]' from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation.rb:363:in `send' from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.3/lib/active_record/relation.rb:363:in `method_missing' from (irb):4 >> ticket.class => ActiveRecord::Relation
我希望当我查询票证时,它将属于ActiveRecord :: Base类.我不知道该怎么做才能实现这一目标,或者我应该采取的方向.
目标:查询故障单,打印其ID.在上面的示例中,id的值应为97.
也许你只想要第一个结果?
>> ticket = Ticket.where(:number => ticket_id).first >> puts ticket.id => 97

