我正在使用Datamapper创建Sinatra应用程序。
通过以下路线,我试图打印id的记录。因此localhost:9292/api/1
应返回id=1
里面
get '/api/:id' do
我尝试了几个不同结果的事情:
thing = Thing.get(params[:id])
thing.to_json
end
输出' null',但是:
id_param = params[:id]
id_param
end
按预期打印1
,然后:
hardcoded_thing = Thing.get(1)
hardcoded_thing.to_json
end
正确打印id = 1的硬编码数据库记录。所以我一定要失去它..
有什么想法吗? 谢谢!
供参考,这是我的模特:
class Thing
include DataMapper::Resource
include BCrypt
property :id, Serial, :key => true
property :created_at, DateTime
property :updated_at, DateTime
property :name, String, :length => 50
property :cafe_topic, Text
end
答案 0 :(得分:0)
试试这个:
get '/api/:id' do |id|
thing = Thing.get(id)
thing.to_json
end