Развертывание Radiant в Heroku за 5 минут приводит к ошибке прав доступа в Admin
Я соединил эти два урока вместе
и в моем Gemfile я также включил:
gem "taps"
gem "radiant"
И когда я запускаю Radiant в своем регионе, нет проблем! Я могу получить доступ к администратору.
Когда я запускаю его на Heroku, главная страница работает, но админ дает мне:
Application error
Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html
Я проверил журналы, и они говорят;
Rendering admin/welcome/login
ActionView::TemplateError (Permission denied - /disk1/home/slugs/6d4358ef-a4c2-411e-b46d-e6224d3c36fb/mnt/public/javascripts/admin/all.js) on line #9 of /home/slugs/6d4358ef-a4c2-411e-b46d-e6224d3c36fb/mnt/.bundle/gems/ruby/1.8/gems/radiant-0.9.1/app/views/layouts/application.html.haml:
6: - @stylesheets.uniq.each do |stylesheet|
7: = stylesheet_link_tag stylesheet
8: %script{:type=>"text/javascript"}="var relative_url_root = '#{ActionController::Base.relative_url_root}';"
9: = javascript_include_tag %w(admin/prototype admin/effects admin/lowpro admin/dateinput admin/pagestatus admin/cookie admin/popup admin/status admin/utility admin/codearea admin/tabcontrol admin/ruledtable admin/sitemap admin/shortcuts admin/toggle admin/validationerror admin/application), :cache => 'admin/all'
10: - @javascripts.uniq.each do |javascript|
11: = javascript_include_tag javascript
12: - if @content_for_page_scripts
radiant (0.9.1) app/views/layouts/application.html.haml:9:in `_run_haml_47home47slugs476d4358ef45a4c245411e45b46d45e6224d3c36fb47mnt4746bundle47gems47ruby47146847gems47radiant45046946147app47views47layouts47application46html46haml'
radiant (0.9.1) vendor/plugins/haml/rails/./lib/haml/helpers/action_view_mods.rb:13:in `render'
radiant (0.9.1) vendor/plugins/haml/rails/./lib/haml/helpers/action_view_mods.rb:13:in `render'
radiant (0.9.1) vendor/plugins/haml/rails/./lib/sass/plugin/rails.rb:20:in `process'
/home/heroku_rack/lib/static_assets.rb:9:in `call'
/home/heroku_rack/lib/last_access.rb:15:in `call'
/home/heroku_rack/lib/date_header.rb:14:in `call'
thin (1.2.6) lib/thin/connection.rb:76:in `pre_process'
thin (1.2.6) lib/thin/connection.rb:74:in `catch'
thin (1.2.6) lib/thin/connection.rb:74:in `pre_process'
thin (1.2.6) lib/thin/connection.rb:57:in `process'
thin (1.2.6) lib/thin/connection.rb:42:in `receive_data'
eventmachine (0.12.10) lib/eventmachine.rb:256:in `run_machine'
eventmachine (0.12.10) lib/eventmachine.rb:256:in `run'
thin (1.2.6) lib/thin/backends/base.rb:57:in `start'
thin (1.2.6) lib/thin/server.rb:156:in `start'
thin (1.2.6) lib/thin/controllers/controller.rb:80:in `start'
thin (1.2.6) lib/thin/runner.rb:177:in `send'
thin (1.2.6) lib/thin/runner.rb:177:in `run_command'
thin (1.2.6) lib/thin/runner.rb:143:in `run!'
thin (1.2.6) bin/thin:6
/usr/ruby1.8.7/bin/thin:19:in `load'
/usr/ruby1.8.7/bin/thin:19
Rendering /disk1/home/slugs/6d4358ef-a4c2-411e-b46d-e6224d3c36fb/mnt/public/500.html (500 Internal Server Error)
2 ответа
Решение
Чтобы решить эту проблему, я создал файлы, которые он собирался сделать на своем локальном компьютере.
script/server -e production
Затем я вошел в: http://localhost:3000/admin/
После этого страницы были созданы, и я выполнил
git add .
git commit -m "created temp admin files for production"
git push heroku master
Это :cache => 'admin/all'
в вашем теге ссылки JavaScript это вызвано тем, что в Heroku у вас есть права на запись только для./tmp и./log.