My Rails 3 Bundler gem работает локально, но не в Heroku для обслуживания определенных файлов макетов. Есть идеи? - PullRequest
0 голосов
/ 21 мая 2011

Я играю с гемом Social Stream, платформой социальных сетей, созданной для Rails 3, которая, похоже, извлекает некоторые файлы макета своего представления из каталога гемов, а не локально в файловой системе приложения. Это прекрасно работает, когда я обслуживаю приложение локально:

Предоставлено /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4/app/views/frontpage/_header.html.erb (107,8 мс)
Rendered /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4/app/views/layouts/_flash.html.erb (0,6 мс) Rendered /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4/app/views/frontpage/_sponsor.html.erb (0,6 мс)
Rendered /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4/app/views/layouts/_footer.html.erb (1.1ms)
Отображается /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4/app/views/frontpage/index.html.erb в макетах / главной странице (322,2 мс)
Завершено 200 OK за 374 мс (Просмотров: 372,6 мс | ActiveRecord: 0,2 мс)

Я следовал инструкциям по развертыванию приложения Social Stream в Heroku дословно, используя Bundler для локальной установки гемов и создания файла Gemfile.lock.

https://github.com/ging/social_stream/wiki/How-to-deploy-social-stream-to-heroku

Однако при развертывании в Heroku некоторые страницы загружаются некорректно, и это сообщение об ошибке я нахожу в журналах:

ActionView :: Template :: Error (Отсутствует частичная разметка / flash с {: locale => [: en,: en],: format => [: html],: handlers => [: rjs,: rhtml, : rxml,: builder,: erb]} в путях просмотра "/ app / app> / views", "/ app / vendor / plugins / rails_log_stdout / app / views", "/ app / vendor / plugins / rails3_serve_static_assets / app / views "," / app / vendor / plugins / rails3_disable_x_sendfile / app / views "," /app/.bundle/gems/ruby/1.8/gems/social_stream-0.4.4/app/views "," /app/.bundle /gems/ruby/1.8/gems/devise-1.3.4/app/views "," /app/.bundle/gems/ruby/1.8/gems/mailboxer-0.1.4/app/views")

Я не понимаю, что мешает файлам макетов / флеш-памяти присутствовать на сервере Heroku. Есть идеи? Дайте мне знать, будет ли полезна дополнительная информация.

Заранее спасибо.

1 Ответ

3 голосов
/ 05 января 2012

У меня была такая же проблема. Чтобы выяснить, действительно ли частичное было там, я создал метод контроллера, такой как:

def files
  render :text => Dir['**/*']
end

Я обнаружил, что файл определенно был там. После нескольких дополнительных экспериментов я обнаружил, что моя проблема в том, что я делаю это:

render :partial => 'shared/partial'

вместо этого:

render :partial => 'shared/partial.html.erb'
...