0

Rails 3 用に構築されたソーシャル ネットワーキング プラットフォームである Social Stream gem をいじっています。これは、ビュー レイアウト ファイルの一部を、アプリ ファイル システム内でローカルにではなく、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/ layouts/frontpage 内の app/views/frontpage/index.html.erb (322.2ms) 374ms
で 200 OK を完了 (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 ({: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 に答える