0

新しいコードを Openshift にプッシュするときに、資産の再コンパイル時に資産が削除されないようにモデルを構成するにはどうすればよいですか?

現時点で、私のモデルは次のようになります。

class Slide < ActiveRecord::Base
  attr_accessible :caption, :position, :visible, :photo
  has_attached_file :photo, :styles => { :thumb => "190x90>" }
  ...

Openshift が新しいコードをプッシュしてアセットを再コンパイルすると、アップロードされた写真が /public ディレクトリから削除されることに気付きました。

次のような古いコードを見つけました。

has_attached_file :attachment, :removable  => true,
  :url => "/attachments/:id/:style/:basename.:extension",
  :path => ":rails_root/tmp/attachments/:id/:style/:basename.:extension"  

上記のコード スニペットのようなものを試す必要がありますか、それとも Openshift 構成で変更するオプションはありますか?

4

1 に答える 1

1

$OPENSHIFT_REPO_DIR 構造は、git プッシュごとにローカルの git リポジトリに置き換えられます。

アプリケーションでのアップロードの処理には、$OPENSHIFT_REPO_DIR の代わりに $OPENSHIFT_DATA_DIR を使用することをお勧めします。

詳細については、https ://openshift.redhat.com/community/kb/kb-e1065-what-is-application-crud-and-how-should-i-handle-it-in-openshift を確認してください。

于 2013-04-10T17:25:22.403 に答える