1

画像をアップロードするためにアプリにペーパークリップをインストールしたところ、スタイルを追加して画像のサイズを変更しようとするまで、すべてがうまく機能していました。(このコードを追加する前に画像をアップロードできます)

pins.rb:

has_attached_file :image, styles: { medium: "300x300>" }

次に、クラスを _pin.html.rb に追加しました。

<td><%= image_tag pin.image(:medium) %></td>

しかし、画像をアップロードしようとすると、次のエラーが表示されます。

Paperclip::Errors::NotIdentifiedByImageMagickError

スタイルを削除すると、正常に動作します (ただしサイズは変更されません) が、サイズ変更の何かがすべて台無しになっています。さまざまなファイルの種類とファイル名を試しました。Google でこのエラーを検索しましたが、すべての解決策が機能していません。最も人気があったのはコカインをダウングレードすることでしたが、試してみると次のメッセージが表示されました。

Bundler could not find compatible versions for gem "cocaine":
In Gemfile:
paperclip (~> 3.4.1) ruby depends on
cocaine (~> 0.5.0) ruby

cocaine (0.3.2)

私のレールサーバーはメッセージを返しています:

Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-03-22 21:50:05 -0400
Served asset /application.js - 304 Not Modified (1ms)
[2013-03-22 21:50:05] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

何か助けはありますか?それが役立つ場合は、 https://github.com/jeremybelcher/omrailsの github にあります。

4

5 に答える 5

2

Rich Peck の質問に答えるには、モデルに直接追加する必要はありません。/config/environments/development.rb に追加できます。そうすれば、本番バージョンではなく、開発バージョンにのみ影響します。

だから私の場合、私はちょうど追加しました

Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.7-Q16'

私のconfig/environments/development.rbファイルの最後まで、それは魅力的に機能しました。

于 2013-10-11T01:59:30.453 に答える
1

同じ omrails 割り当てでまったく同じ問題が発生しました-マシンを再起動すると問題が解決しました。

于 2013-03-24T19:32:11.360 に答える
0

おそらくimagemagickをインストールしておらず、アプリケーションでそれを指し示していません。

ドキュメントに記載されているように:

ImageMagickがインストールされ、Paperclipがそれにアクセスできる必要があります。確実に実行するには、コマンドラインでwhich convert(ImageMagickユーティリティの1つ)を実行します。これにより、そのユーティリティがインストールされているパスがわかります。たとえば、/ usr / local / bin/convertを返す場合があります。

開発モードでは、次の行をconfig / environment / development.rbに追加できます)。

Paperclip.options[:command_path] = "/usr/local/bin/"
于 2013-03-23T02:19:47.937 に答える
0

1-同じ問題があり、 ldconfigコマンドを使用して必要なリンクを作成し、最新の共有ライブラリにキャッシュするようにダイナミックリンカーランタイムバインディングを構成すると、解決しました。

したがって、次のコマンドを使用する必要があります。

sudo ldconfig /usr/local/lib

実際には、 how-to-install-image-magick-and-setup-paperclip の手順を使用して imagemagick を再インストールすることをお勧めします。

development.rb2-ファイルに次のコードを追加する必要があります。

Paperclip.options[:command_path] = "/usr/local/bin/"
于 2014-12-16T11:39:20.057 に答える