2011-08-15 48 views
13

Tôi muốn xóa bản ghi khỏi bảng điều khiển.Xóa bản ghi khỏi bảng điều khiển - Ruby on Rails

tôi đăng nhập thông qua kịch bản/console và

User.find(1).delete 
$<User id: 1, ..............> 
User.find(1) 
ActiveRecord::RecordNotFound: Couldn't find User with ID=1 
........ 
........ 
........ 

Tất cả mọi thứ có vẻ tốt đẹp đến đây.

Nhưng khi tôi thoát khỏi giao diện điều khiển và trở về giao diện điều khiển bởi kịch bản/console lệnh, tôi có thể một lần nữa để xem kỷ lục với id = 1.

Cơ sở dữ liệu không phải là địa phương và tôi đang kết nối thông qua cơ sở dữ liệu .yml bằng cách cho một ip.

khi tôi cố gắng làm tương tự trên cơ sở dữ liệu phát triển cục bộ, mọi thứ đều ổn.

Ai đó có thể vui lòng giải thích những gì đang xảy ra và tôi bị thiếu ở đâu!

Cảm ơn

+2

bạn có quyền ghi vào DB từ xa bằng thông tin đăng nhập/đăng nhập của mình không? – Anatoly

+0

Tôi không hiểu đăng nhập/pass nào, tôi không thể ssh đến DB từ xa. Tôi hoàn toàn loại mới đối với loại công cụ này. Tôi có thể làm mọi thứ và tôi nghĩ tên người dùng của mình có mọi quyền như viết, đọc, tạo. Nhưng tôi không chắc chắn! – kill007

+0

Bạn có thể dán phiên điều khiển thực tế không? Ngoài ra, bạn có chắc là bạn đang kết nối với cơ sở dữ liệu sản xuất không? –

Trả lời

29

Hãy thử

User.find(1).destroy 

này nên làm việc trong giao diện điều khiển và ngược lại.

+0

Mô hình người dùng có một số call_backs và tôi không muốn chạm vào chúng. Đó là lý do tôi đi với xóa. – kill007

+0

khi tôi gọi bảng điều khiển, tôi đang gọi ở chế độ hộp cát. (phát triển script/console -s) mà tôi không nên làm. Cảm ơn các bạn đã giúp đỡ các bạn. – kill007

+0

Của nó xấu của tôi ... Tôi đang gọi giao diện điều khiển trong chế độ Sandbox và bây giờ tôi vô hiệu hóa nó và làm việc tốt của nó ... ofcourse xin lỗi vì giải pháp cuối .... – kill007

2

Trên một lưu ý tương tự bạn có thể loại bỏ tất cả các bộ dữ liệu cho một đối tượng đưa ra từ các đường ray giao diện điều khiển như sau:

@object = Object.all 

@object.each do |o| 
    o.delete 
end 
0

Hãy thử User.count hoặc y User.count

User.first nơi đầu tiên là số bạn muốn xóa

User.first.destroy

1

cách dễ dàng để loại bỏ mô hình dữ liệu từ giao diện điều khiển

rails console 

cửa hàng mô hình người dùng đến một instance biến

user = User.find(1) 

xóa hoặc hủy bỏ các mối quan hệ bằng lệnh sau

user.delete 

hoặc

user.destroy 
0

Hãy chắc chắn rằng bạn không phải là cách gọi bảng điều khiển ở chế độ hộp cát, điều này sẽ ngăn chặn thao tác xóa.

Các vấn đề liên quan