2

私はclass AvatarUploader < Carrierwave::Uploader::Baseどの店のUserアバターをディレクトリに持っていますかpublic/uploads:

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  version :main do
     process :resize_to_limit => [128, 128]
  end

productionまた、アセットのプリコンパイルを有効にしたモードでアプリケーションを起動したいと考えています。アバター以外は正常に動作します。Userプロファイルにアクセスすると、次のようになります。

Started GET "/users/1" for 127.0.0.1 at 2012-05-03 17:45:24 +0300
Processing by Users::UsersController#show as HTML
  Parameters: {"id"=>"1"}
  Rendered users/users/show.html.erb within layouts/application (2.5ms)
Completed 500 Internal Server Error in 16ms

ActionView::Template::Error ( isn't precompiled):
    87:                     <%= image_tag @user.avatar_url(:main).to_s %>
  app/views/users/users/show.html.erb:87:in `_app_views_users_users_show_html_erb___538221278131396366_28399560'

アバターのプリコンパイルをオフにする方法があるかもしれません (アプリが本番環境で実行されているときにアバターが再アップロードされる可能性があるため)。この問題を解決するための提案があれば教えてください。ありがとう。

4

1 に答える 1

7

image_tag が空の文字列を受け取ると、アセット パイプラインからリソースを取得しようとし、戻ります

「プリコンパイルされていません」

https://github.com/rails/rails/issues/3080

印刷@user.avatar_url(:main).to_sして再確認する

于 2012-05-03T15:06:20.727 に答える