問題タブ [carrierwave]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - excon/connection.rb接続関数のRuby on Rails segfault
Rails 3.0.4 で Carrierwave を使用しています。ファイルをサーバーにローカルに保存している場合は、大きなプロジェクトですべて正常に動作しますが、Amazon s3 を使用するように切り替えると、問題が発生します。つまり、次のエラーが発生します (非常に大きなトレースの最後にすぎません)。
さらに奇妙なのは、Amazon s3 で問題なく動作する、同じコード、同じ gem、同じバージョンの Ruby (1.9.2-p136) を使用する 2 つのプロジェクトを成功裏に作成したことです。プロジェクト間の唯一の違いは、SQLite と MySQL の違いと、一見無関係に見える内部コードの違いです。
Carrierwaveの Google グループに投稿した記事を次に示します。
助けてくれてありがとう。
ruby-on-rails-3 - Carrierwave にファイルをインポートする方法
したがって、ファイルを提供するレール3とmongodbを使用するアプリがあります。既にシステムにあるファイルの新しい ObjectId を作成せずに、ランナー プロセスを使用してすべてのファイルを gridfs にインポートしたいと考えています。基本的に、carrierwave を使用して、既にデータベースにあるファイル オブジェクトにファイルを添付したいと考えています。
なぜか、新しいファイル ドキュメントを作成するときに、問題なくローカル ファイルを添付できます。ただし、以前に作成したドキュメントにローカル ファイルを添付することはできません。
私はあらゆる形式の Mongoid の更新を試しましたが、メソッドが欠落しているか、メソッドが不明であることがわかりました。
たとえば、これは機能します。
しかし、これはしません:
何か案は?
ruby-on-rails - CarrierwaveのURLをキャッシュする必要がありますか?
私のウェブホストはHerokuで、ファイルをローカルファイルシステムに保存することはできません。そのため、Carrierwaveを使用してファイルをAmazonS3に保存しています。
コンソールでは、次のことに気づきます。
それは戻ります:
予想通り。ただし、コンソールでのこのプロセス(値を返すプロセス)には2〜3秒かかります。私の推測では、S3にアクセスしようとしていると思います。さらに悪いことに、複数の写真を含むWebページをロードすると、ロードにかなりの時間がかかります。
S3を介してファイルをリモートで保存しているため、「Photo.last.attachment.url」から結果をキャッシュする必要があるとのことです。
つまり、私のデータベースには2つの列が必要です。
:attachmentおよび:attachment_url
:attachmentはCarrierwaveアップローダーオブジェクト用であり、:attachment_urlはS3ファイルへの直接リンクです。
これは私がすべきことですか?より良い代替案はありますか?
ruby-on-rails - Railsで、jquery-file-uploadとCarrierWaveを使用して複数のポリモーフィックファイルのアップロードを処理するにはどうすればよいですか?
私のプロジェクトには、現在、次のようなさまざまなモデル(プロジェクト、メッセージなど)があります。
各アセットは基本的にCarrierWaveファイルを含むモデルです。通常、親モデル(Project、Messageなど)でaccepted_nested_attributesを使用し、ファイルアップロードフィールドをfields_forブロックにリストします。
私の問題は、AJAXでjQuery-File-Uploaderを使用しているため、ファイルがアップロードされるたびに、親モデルのフォームが親モデルのCreateメソッドを呼び出すことです。残りの親モデルフィールドはまだ入力されていない可能性があります。ファイルアップローダーにAssetsコントローラーのcreateメソッドを呼び出させることができるかもしれないと思っていますが、多態的な関連付けが正しく保存されるように、親モデルのクラスを送信する必要があります。
これをきれいに機能させる方法について何かアイデアはありますか?見てくれてありがとう。
ruby-on-rails - Carrierwave アップローダー内からモデルにアクセスする
私が取り組んでいる Web アプリケーションに手動トリミングを実装しようとしていますが、これまでのところ:
問題は、モデルがゼロになることです。私が読んだドキュメントから、これは正しい方法です。
助言がありますか?今のところ、クロッピングの呼び出しをモデルのコールバックに移動しましたが、実際にはキャリアウェーブ内に常駐させたいと考えています
ruby-on-rails-3 - rails3.0とcarrierwave非イメージタイプのバージョン作成を防ぐ方法
最初はシンプルに見えたものを実現しようと少し苦労しています。carrierwaveを使用するrails3.0アプリのコンテキストで。ユーザーは、.exeファイルを除くすべての種類のドキュメントをダウンロードできる必要があります。Carriewaveにはホワイトリストがあります
ブラックリストがあったらいいのにと思いますが、私の場合はもっと簡単になります。とにかく、これは主な関心事ではありません。
画像ファイルの場合、アップローダークラスに2つのバージョンを設定しました。
私はこの構文に少し混乱していることを認めなければなりません。どのようなルビーコード「バージョン」が定義するか。つまり、それはメソッドではないので、クラスでは何ですか?
メソッドイメージを作成しようとしましたか?
次に、バージョンコードから呼び出して、ファイルがイメージでない場合にそれらのバージョンが作成されないようにします。
しかし、このコードはエラーをスローします
どんな助けでもいただければ幸いです。
ありがとう。
ruby-on-rails-3 - この場合、Amazon S3 は何か役に立ちますか?
アップロードされたメディア ファイル (ビデオとオーディオ) をローカルではなく S3 でホストするかどうかを考えています。ダウンロードごとにユーザーのアクセス許可を確認する必要があります。
get_file
したがって、最初にユーザーのアクセス許可を確認し、次に S3 からファイルを取得し、send_file を使用してユーザーに送信する のようなアクションがあります。
ただし、この場合、サーバーは (不必要に) 最初に S3 からファイルをダウンロードしてから、ユーザーに送信します。S3 のユースケースは、Rails/HTTP サーバー スタックをバイパスして負荷を軽減することだと思いました。
私はこれを間違って考えていますか?
PS。ファイルのアップロードには CarrierWave を使用しています。それが関連しているかどうかはわかりません。
ruby-on-rails - CarrierwaveとRails3を使用すると、同じアップローダーで画像ファイルと非画像ファイルを適切に管理できますか?
Railsアプリで、ユーザーがCarrierwaveを介して画像ファイルまたは非画像ファイルをアップロードできるようにしたいと思います。現在、Carrierwaveは画像ファイルの処理と処理をうまく行っていますが、残念ながら非画像ファイルを完全に削除しています。単一のCarrierwaveアップローダーが画像ファイルと非画像ファイルの両方を処理するためのクリーンな方法はありますか?
現在のアップローダーを以下に含めます。
amazon-s3 - フォグ 0.7.2 + キャリアウェーブ マスター ブランチで S3 ストレージが失敗する
ファイルを保存しようとすると、次のようになります。
手動でデバッグしようとしましたが、@content_type が nil に設定されているという事実に問題が関係しているかどうか疑問に思っていますが、それ以上のことは推測できませんでした。
これは s3 (または霧、他のプロバイダーはありません) 固有の問題であり、:file ストレージを使用するとプロジェクトは正常に動作します。考え?