特定のオブジェクトの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
またはに関連するものだと思いattr_accessor
ます。私はそれらをいじろうとしましたが、何もなかったので助けを求めます。
編集:リロードを要求すると、オブジェクトを取得しようとするとエラーが返されます(whereまたは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を取得しようとする直前ではありません。