Tôi mới dùng Ruby và gần đây đã gặp phải vấn đề khi so sánh với các giá trị khi tạo ứng dụng Ruby on Rails. Trong bộ điều khiển, tôi có câu lệnh sau luôn trả về false:Kiểm tra cú pháp hoặc "Biên dịch" một ứng dụng Ruby on Rails
if (user.id != params[:id])
Vấn đề là user.id (là bản ghi hoạt động) là số nguyên và tham số [: id] là một chuỗi. Phải mất một lúc tôi mới hiểu được điều này và cuối cùng tôi đã thay đổi nó thành:
if (user.id != params[:id].to_i)
Bây giờ tuyên bố hoạt động như mong đợi.
Để tránh lỗi này trong tương lai là có cách "biên dịch" hoặc yêu cầu Ruby cảnh báo bạn nếu bạn cố so sánh 2 loại khác nhau? Một số vấn đề khác mà tôi gặp phải mà tôi muốn "kiểm tra biên dịch" là:
- Cảnh báo tôi nếu tôi tạo biến nhưng không sử dụng. Để giúp kiểm tra lỗi chính tả trong các tên biến.
- Đảm bảo phương thức tồn tại trong Lớp để tôi có thể tránh lỗi chính tả tên phương pháp và cũng để giúp tái cấu trúc, ví dụ: nếu tôi đổi tên phương thức.
Tôi hiện đang sử dụng Ruby 1.8.6-27 RC2 với Rails 2.3.2 và RadRails IDE trên Windows.
Vui lòng không có câu trả lời về việc kiểm tra mã của bạn. Tôi đã có một bài kiểm tra đơn vị cho đoạn mã trên và nó vẫn không thành công (cùng với kiểm tra thủ công của tôi) và tôi không thể hiểu tại sao. Những gì tôi đang tìm kiếm là một trình kiểm tra cú pháp cho Ruby tìm lỗi tương tự như trình biên dịch chuẩn sẽ tìm thấy. Thanx. –
Trình biên dịch C sẽ không cung cấp cho bạn lỗi khi thực hiện 4 == 5.5. – Chuck
Kiểm tra jetbrains ruby ide, https://www.jetbrains.com/ruby/ –