我需要获取某个对象的 id。这可能是我想念的非常简单的事情。我需要的对象来自数据库,我可以检索它的属性,但不能检索 id。
Part.where("code ='p8z68vprogen3'").first
# => <Part id: 486, code: "p8z68vprogen3", etc...>
Part.where("code ='p8z68vprogen3'").first.id
# => nil
Part.where("code ='p8z68vprogen3'").first.code
# => "p8z68vprogen3"
这是模型:
class Part < ActiveRecord::Base
has_many :build_parts
has_many :builds, :through => :build_parts
belongs_to :category
attr_accessible :code,:link,:description,:category_id
end
我想这与attr_accessible
or相关attr_accessor
,我试图摆弄它们但没有,所以我寻求帮助。
编辑:要求重新加载以任何方式返回错误我尝试获取对象(在哪里或 find_by_)
part_needed = Part.where("code ='p8z68vprogen3'").first
# => <Part id: 486, code: "p8z68vprogen3", etc..>
part_needed.reload
# ActiveRecord::RecordNotFound: Couldn't find Part without an ID
此外,部件表已经填充,但这里是创建条目的代码:
part = Part.new(
:description => objs[1],
:code => objs[2],
:category_id => tips[objs[3].to_i]
)
part.save!
这段代码是在另一部分代码中执行的,而不是在我尝试获取 ID 之前。