【发布时间】:2015-03-30 13:04:36
【问题描述】:
我正在尝试创建一个简单的 Sinatra 应用程序,该应用程序从数据库中提取大量邮政编码并将其呈现为 JSON。我现在有两个 get 语句
get '/postalcodes' do
PostalCodes.all.to_json only: [:CountryCode, :PostalCode, :PlaceName, :AdminName1, :AdminCode1, :AdminName2, :AdminCode2, :AdminName3, :AdminCode3, :Latitude, :Longitude, :Accuracy]
end
get '/postalcodes/:countrycode' do
PostalCodes.find(params[:countrycode]).to_json only: [:CountryCode, :PostalCode, :PlaceName, :AdminName1, :AdminCode1, :AdminName2, :AdminCode2, :AdminName3, :AdminCode3, :Latitude, :Longitude, :Accuracy]
end
第一个 GET 工作正常,但我希望我可以输入 URI:
localhost:3000/postalcodes/US
获取所有国家代码为“US”的邮政编码。好吧,它不工作。
【问题讨论】:
-
Ruby 的列名约定是蛇形大小写,模型是单数,仅供参考。对于有问题的查询,您需要执行
PostalCodes.where(CountryCode: params[:countrycode])来检索记录。