作者:放肆情人800 | 来源:互联网 | 2022-12-16 15:28
这是我的routes.rb
namespace :api do
get 'suggestions/jobs', to: "suggestions#jobs"
end
我的控制器
class Api::SuggestionsController
和模型
def self.job_title_search(q)
where('title LIKE ?', "%#{q}%").select(:title, :label).distinct
end
在开发环境中就像localhost:3000/api/suggestions/jobs?q=dev
数据样本一样
[
{"id":null,"title":"React Native Developer","label":"Top label job"},
{"id":null,"title":"Android Developer","label":"Top label job"},
{"id":null,"title":"Business Development Representative","label":"Mid label job"},
{"id":null,"title":"Node.js Developer","label":"Top label job"}
]
这意味着它正在工作,但是当我推进Heroku时,就像example.herokuapp.com/api/suggestions/jobs?q=dev
它正在显示
SyntaxError:JSON.parse:JSON数据的第1行第1列的意外字符
我知道代码是"Not Found"
render json: "Not Found", status: :ok
我的问题是为什么相同的代码不适用于Heroku?我能为此做些什么?
database.yml
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: sqlite3
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: my_project_production
username: my_project
password: <%= ENV['MY_PROJECT_DATABASE_PASSWORD'] %>
任何帮助appriciated.
谢谢
1> Aleksei Mati..:
if
代码的分支很好,并且由于dev
包含记录,所以它的呈现没有任何故障.
在prod
OTOH中,没有记录else
,并且尝试渲染不太正确的分支.它失败了,给你错误.
请改为提供哈希:
else
render json: {error: "Not Found"}, status: :ok
end
@engineersmnky**O**n**T**他**********,但我更喜欢你的解释.