Проблемы с DataMapper на Heroku - PullRequest
       26

Проблемы с DataMapper на Heroku

0 голосов
/ 04 августа 2011

Я пытаюсь развернуть простое приложение в Heroku (Sinatra и использую DataMapper для ORM), и я получаю эти ошибки всякий раз, когда пытаюсь отправить свою форму:

2011-08-03T22:52:05+00:00 heroku[router]: GET pure-mist-880.heroku.com/public/css/raffler.css dyno=web.1 queue=0 wait=0ms service=4ms status=404 bytes=18
2011-08-03T22:52:06+00:00 heroku[nginx]: GET /public/css/raffler.css HTTP/1.1 | 12.185.40.153 | 340 | http | 404
2011-08-03T22:52:15+00:00 app[web.1]: DataObjects::SyntaxError - ser=jjimxarsyb&password=2QbwU-iBQ6IckNTQqQ05&host=ec2-107-20-254-131.compute-1.amazonaws.com&port=&path=/jjimxarsyb&query=&fragment=&adapter=postgres:
2011-08-03T22:52:15+00:00 app[web.1]:  /app/.gems/gems/dm-do-adapter-1.1.0/lib/dm-do-adapter/adapter.rb:114:in `execute_non_

...
2011-08-03T22:52:16+00:00 heroku[nginx]: POST / HTTP/1.1 | 12.185.40.153 | 297 | http | 500

Строка установки Iв настоящее время использую (взято из Heroku DevCenter):

DataMapper.setup(:default, ENV['DATABASE_URL'] || 'sqlite3://#{Dir.pwd}/entries.db') 

РЕДАКТИРОВАТЬ:

Я добавил dm-do-adapter в мой файл .gems, и это решило эту проблему.Теперь, когда я отправляю свою форму, в браузере по-прежнему отображается сообщение «Внутренняя ошибка сервера», и мои журналы показывают только:

2011-08-04T01:19:30+00:00 heroku[router]: GET pure-mist-880.heroku.com/ dyno=web.1 queue=0 wait=0ms service=54ms status=200 bytes=919
2011-08-04T01:19:30+00:00 heroku[nginx]: GET / HTTP/1.1 | 71.199.2.204 | 1218 | http | 200
2011-08-04T01:19:31+00:00 heroku[router]: GET pure-mist-880.heroku.com/public/css/raffler.css dyno=web.1 queue=0 wait=0ms service=2ms status=404 bytes=18
2011-08-04T01:19:36+00:00 heroku[router]: POST pure-mist-880.heroku.com/ dyno=web.1 queue=0 wait=0ms service=35ms status=500 bytes=30

Я не знаю, почему мой файл .css не 't и почему происходит сбой при отправке формы.

Если вам нужно больше фрагментов кода, дайте мне знать.Заранее спасибо за любые идеи.

1 Ответ

0 голосов
/ 09 августа 2011

"public" не должен быть нигде, кроме ваших маршрутов.

Из вводной документации sintra.rb :

Обратите внимание, что имя общедоступного каталога не включено в URL-адрес.Файл ./public/css/style.css доступен как example.com/css/style.css.

Если ваши статические активы размещены в другом месте, вы также можете определить его самостоятельно:

set :public, File.dirname(__FILE__) + '/static'

Относительно последнегоline, у вас есть post маршрут для рута?Что-то вроде:

post '/' do
  #form processing using params[:input_name]
end

Работает ли это приложение в локальной среде разработчика?

...