1
私はCapybara/Poltergeist RSPEC統合テストを実行しようとしています。ペーパークリップActionController :: RoutingError:[GET]と一致するルートがありません
私のテストの中で、イメージを作成して、それを「Paperclip」でアップロードしています。
モデル:テスト環境のための私のapplication.rb
でPlatform::ContentImage
has_attached_file :attachment, {
styles: lambda { |a| a.instance.styles_by_image_type},
processors: [:thumbnail, :paperclip_optimizer],
paperclip_optimizer: {
nice: 19,
jpegoptim: { allow_lossy: true, strip: :all, max_quality: 75 },
jpegrecompress: {allow_lossy: true, quality: 3},
jpegtran: {progressive: true},
optipng: { level: 2 },
pngout: false
},
path: "#{'public/' if Rails.env.test?}content_image/:id/:style/:basename.:extension",
convert_options: { :all => '-auto-orient +profile "exif"' },
s3_headers: { 'Cache-Control' => 'max-age=31536000'}
}
config.paperclip_defaults = {
url: "/public/:class/:id/:style/:basename.:extension"
}
マイエラー
ActionController::RoutingError:
No route matches [GET] "/system/platform/content_images/attachments/000/000/001/thumb/blue_night_swatch.jpg"
私は画像を表示しようとしていますが、私はちょうどことはできませんが返さURLを正しく設定しているようです。 Platform::ContentImage
モデル内のデフォルトを上書きするので、ディレクトリpublic/content_image
が正常に作成されますが、テスト中はクラス名を「復調」できないようです。 URLをPlatform::ContentImage
の定義で指定することはできますが、テスト環境のみに指定することはできますか?
はあなたのためにこの仕事をしていますか? – Jeremie
@Jeremieええ、それは動作しますが、テスト中ではありません – reid