0

我正在玩 Social Stream gem,这是一个为 Rails 3 构建的社交网络平台,它似乎从 gem 目录中提取了一些视图布局文件,而不是在应用程序文件系统中本地提取。当我在本地提供应用程序时,这很好用:

渲染 /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4/app/views/frontpage/_header.html.erb (107.8ms)
渲染 /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4 /app/views/layouts/_flash.html.erb (0.6ms) 渲染 /Library/Ruby/Gems/1.8/gems/social_stream-0.4.4/app/views/frontpage/_sponsor.html.erb (0.6ms)
渲染/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 在 layouts/frontpage (322.2ms) 内
完成 200 OK 在 374ms (Views: 372.6ms | ActiveRecord: 0.2ms)

我按照说明将社交流应用程序逐字部署到 Heroku,使用 Bundler 在本地安装 gem 并创建 Gemfile.lock 文件。

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

但是,当我部署到 Heroku 时,某些页面无法正确加载,这是我在日志中发现的错误消息:

ActionView::Template::Error(缺少部分布局/flash with {:locale=>[:en, :en], :formats=>[: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 的服务器上。有任何想法吗?让我知道更多信息是否有用。

提前致谢。

4

1 回答 1

3

我有同样的问题。为了确定部分是否真的存在,我创建了一个控制器方法,例如:

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

我发现文件肯定在那里。经过更多的实验,我发现我的问题是我正在这样做:

render :partial => 'shared/partial'

而不是这个:

render :partial => 'shared/partial.html.erb'
于 2012-01-05T08:15:55.673 回答