0
Datamapper를 사용하여 Sinatra App을 만들고 있습니다.Ruby Datamapper : url 경로의 param을 사용하여 레코드를 검색하면 null이 반환됩니다. 가끔
다음 경로를 사용하여 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 인 하드 코드 된 db 레코드를 올바르게 인쇄합니다. 그래서 나는 그것을 잃고 있어야합니다 ..
어떤 아이디어? 감사합니다. 이 시도
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
이'의 PARAMS을 시도 참고로
가 여기 내 모델의 .to_i' http://stackoverflow.com/questions/ 16304097/sinatra-matches-paramsid-as-string-type-additional-conversion-matc 필요 – ymonad
@ymonad 해냈어! 아래 답변을 남겨두면 체크 표시 – Pirijan
을 제공하고 싶습니다. 또한 Ruby/datamapper를 처음 사용했습니다. 형식 불일치로 인한 오류를 처리 할 때 일반적으로 null 결과가 무엇입니까? – Pirijan