Forum: Ruby on Rails Delete row without th eid field

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Sainaba S. (Guest)
on 2006-01-23 07:12
Hi all,

I have a table structure with me not having an id column. When I try to
delete the row i get an error 'Unknown column "table.id"'. Can i do the
action with any other method than destroy/delete? Or with the same
method and any other conditions?

Thanks.
Sainaba.
Ben Lewis (Guest)
on 2006-01-23 07:18
sainaba sainu wrote:
> Hi all,
>
> I have a table structure with me not having an id column. When I try to
> delete the row i get an error 'Unknown column "table.id"'. Can i do the
> action with any other method than destroy/delete? Or with the same
> method and any other conditions?
>
> Thanks.
> Sainaba.

Check out the destroy_all method.  It may well suit your needs.

http://api.rubyonrails.org/classes/ActiveRecord/Base.html

~Ben
Ben Lewis (Guest)
on 2006-01-23 07:18
> Check out the destroy_all method.  It may well suit your needs.
>
> http://api.rubyonrails.org/classes/ActiveRecord/Base.html
>
> ~Ben

You may also use delete_all :D
Kevin O. (Guest)
on 2006-01-23 07:20
sainaba sainu wrote:
> Hi all,
>
> I have a table structure with me not having an id column. When I try to
> delete the row i get an error 'Unknown column "table.id"'. Can i do the
> action with any other method than destroy/delete? Or with the same
> method and any other conditions?
>
> Thanks.
> Sainaba.

Change the line that looks up your record in the delete function to use
your own primary key.

instead of something like

@item = Item.find(params[:id])

it will be something like

@item = Item.find(params[:name])

or

@item = Item.find_by_name(paranms[:name])

Depends on how you have your table set up.

_Kevin
Sainaba S. (Guest)
on 2006-01-23 07:51
Hi
 it worked with

Customer.delete_all " customer_id = " +  @company_id.to_s

Thanks to all ,
Sainaba.
This topic is locked and can not be replied to.