2012-07-23 23 views
5

Tôi đang sử dụng đá quý với Sinatra DataMapper và theo hướng dẫn ở đây: http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-working-with-datamapper/Kệ :: Lint :: LintError: Trạng thái phải> = 100 được coi là số nguyên

Tôi đang kết nối với cơ sở dữ liệu và di chuyển như vậy :

DataMapper.setup :default, "sqlite://#{Dir.pwd}/ex2.db" 
DataMapper.auto_migrate! 

mô hình dữ liệu của tôi:

class User 
    include DataMapper::Resource 

    property :id  , Serial 
    property :username , String 
    property :email , String 
end 

tôi đang thực hiện sử dụng lệnh này:

012.
rackup config.ru 

Tuy nhiên, khi tôi nhận được đến dòng này:

User.create username: "JoeSchmo", email: "[email protected]" 

tôi nhận được lỗi:

Rack::Lint::LintError: Status must be >=100 seen as integer 

Bất cứ ý tưởng tại sao điều này đang xảy ra?

+0

Có thiết lập phần mềm Rack nào khác không? Bạn có thể thêm các câu lệnh 'require' từ ứng dụng của mình không? Và đá quý của bạn có được cập nhật không? Vui lòng bao gồm các phiên bản nếu có thể. – Kashyap

+0

Tôi đã nhận được lỗi này khi tôi xử lý các đối tượng DataMapper có lớp con. Bạn đang làm bất kỳ phân lớp hoặc thừa kế nào? – AlexQueue

+0

bất kỳ câu trả lời cho điều này chưa? Tôi đang gặp vấn đề tương tự. – mattl

Trả lời

1

Bạn đang sử dụng phiên bản ruby ​​nào vì nếu bạn dưới 1,9 bạn phải sử dụng hàm tạo băm => không phải : và di chuyển dấu hai chấm vào đầu bởi vì đó là biểu tượng.

User.create :username => "JoeSchmo", :email => "[email protected]" 
3

Thử xóa DB SQLite - dường như có lỗi trong data_mapper với thay đổi cấu trúc dữ liệu và sử dụng dữ liệu cũ. Đối với tôi, lỗi đã biến mất sau khi xóa db và thiết lập một lỗi mới.

0

Tôi đã có cùng một vấn đề với Sinatra và datamapper. Tạo hồ sơ của tôi với từ khóa "mới" thay vì "tạo" và sau đó thêm thuộc tính từng cái một cho tôi. Hi vọng bạn tìm được thứ hữu dụng.

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