railsnew
railsnew

Reputation: 219

How to get id of the saved record in Ruby on Rails

I am doing this from the console but I'd like to do this in my code too. Basically I am trying to add a record to the table and then get the id back.

>> @record = Physician.create(:pname => "someone2")
=> #<Physician id: nil, pname: "someone2", pgroup: nil, created_at: nil, updated_at: nil, userid: nil, storeid: nil, licexpdate: nil, address: nil>
>> @record.save
=> false
>>

Upvotes: 2

Views: 7458

Answers (4)

Meera Navale
Meera Navale

Reputation: 1

Before creating new record make sure that you are providing values for all mandatory columns. If @record.save returns true it means record saved successfully. Get id of it using @record.id

Upvotes: 0

vidur punj
vidur punj

Reputation: 5861

@record=Record.create(:name=>'vidur')
last_record_save_id=Record.last.id

Upvotes: -5

Francisco Soto
Francisco Soto

Reputation: 10392

When you successfully save your object, you can access its ID property and get what you need.

Upvotes: 2

Gareth
Gareth

Reputation: 138012

If @record.save returns false, the item wasn't saved and it doesn't have an ID. Use @record.errors.full_messages to see what went wrong

Upvotes: 8

Related Questions