0

私はそれを理解できないという大きな問題を抱えています。

show アクションでページを生成しようとしています:

# projects_controller.rb

def show
    @project = Project.find(params[:id])

    respond_to do |format|
      format.html
      format.pdf do
        render  :pdf => "#{@project.id}-#{@project.name}",
                :template => 'projects/show.pdf.erb',
                :layout => 'layouts/pdf.html.erb',
                :encoding => "utf-8",
                :show_as_html => params[:debug].present?
      end
    end
end

しかし、このビューでは、ペーパークリップを介してアップロードされたファイルがいくつかあり、http://localhost:3000/projects/1.pdfと入力しようとすると、エラーがスローされます。

Sprockets::FileOutsidePaths in Projects#show

Showing /Users/victorrodrigues/Sites/ror/linhadefrente/app/views/projects/show.pdf.erb where line #342 raised:

/system/upload/platforms/14/icon/small/revista.png?2011 isn't in paths:    /Users/victorrodrigues/Sites/ror/linhadefrente/app/assets/fontface, /Users/victorrodrigues/Sites/ror/linhadefrente/app/assets/images, /Users/victorrodrigues/Sites/ror/linhadefrente/app/assets/javascripts, /Users/victorrodrigues/Sites/ror/linhadefrente/app/assets/stylesheets, /Users/victorrodrigues/Sites/ror/linhadefrente/vendor/assets/stylesheets, /Users/victorrodrigues/.rvm/gems/ruby-1.8.7-p352@linhadefrente/gems/jquery-rails-1.0.14/vendor/assets/javascripts, /Users/victorrodrigues/Sites/ror/linhadefrente/app/assets/fontface, /Users/victorrodrigues/Sites/ror/linhadefrente/public/system

「システム」パスを追加しようとしました:

# application.rb
config.assets.paths << "#{Rails.root}/public/system"

しかし、これを修正する方法がわかりません。誰か助けてください。ありがとう

4

2 に答える 2

0

すでに sprockets 2.0 以降があり、参照しているファイルを保持するフォルダーを移動した場合 (たとえば、テンプレート フォルダーを javascripts から assets に移動した場合)、おそらく単なるキャッシュの問題です。コンピューターを再起動しましたが、問題なく動作しました。

于 2013-08-01T20:04:00.237 に答える
0

これは宝石の非互換性の問題のようです。

試すgem "sprockets", "2.0"

詳細については、 LINKを参照してください。

于 2012-03-12T10:23:55.847 に答える