Я использую ActiveRecord с адаптером oracle на Ruby on Rails. При попытке удалить строку я получаю StatementInvalid Exception
.ActiveRecord destroy_all throws StatementInvalid
Вот как моя таблица выглядит следующим образом: room_user_table
room | user
1010 | a
1010 | b
1011 | a
1011 | c
1011 | d
Мой рубиновый ActiveRecord класс:
class RoomUserTable < ActiveRecord:Base
self.table_name = 'room_user_table'
end
Теперь я хочу, чтобы удалить 2-ю строку, например, таким образом, я выдавать
RoomUserTable.destroy_all(:room => 1010, :user => 'b')
Но это бросание ActiveRecord :: StatementInvalid Exception
OCIError: ORA-01741: illegal zero-length identifier: DELETE FROM "ROOM_USER_TABLE" WHERE "ROOM_USER_TABLE"."" = :a1
Любая помощь будет очень признательна.
Мой test_controller.rb
class TestController < ActionController::Base
def test
RoomUserTable.destroy_all(:room => 1010, :user => 'b')
end
end
RoomUserTable.where (: room => 1010,: user => 'b'). First.destroy – Debadatt
Это порождает одно и то же исключение «ORA-01741: незаконный идентификатор нулевой длины» – gnuger