0

こんにちは私はペーパークリップがファイルを保存するデフォルトの場所を変更したいと思います。ドキュメントから、デフォルトの場所はにあることがわかります

rails_root/public/system/users/images/..... 

ファイルをに保存したい

rails_root/assets/images/uploads/.....

そこで、ユーザーモデルを次のように変更しました。

class User < ActiveRecord::Base

has_attached_file :image , :url => ":rails_root/assets/images/uploads/:id/:style/:basename.:extension",
                           :path => ":rails_root/assets/images/uploads/:id/:style/:basename.:extension" 

end

ただし、これは機能しませんでした。ファイルをアップロードして「表示」ページに移動すると、次の画面が表示されます。

ここに画像の説明を入力してください

ご覧のとおり、ユーザーは作成されています。画像のリンクが壊れており、リンクをクリックすると、Webページにこのメッセージが表示されます

No route matches [GET] "/Users/AM/Documents/RailsWS/bmc_mam/assets/images/uploads/13/original/bmc_TransparentFinal.png"

誰かがこのエラーを理解するのを手伝ってくれませんか

4

1 に答える 1

0

設定を行わなくても、画像が直接提供されることはありませんassetsRails.root/public/assets/images/uploads/etc.ブラウザで表示するには、にいる必要があります。ブラウザでは、画像へのパスはのようになりますhttp://foo.com/assets/images/uploads/etc.publicデフォルトでは削除されます。Railsアプリのデフォルトのディレクトリ構造に関する情報については、 http: //guides.rubyonrails.org/getting_started.html#creating-the-blog-applicationを参照してください。

于 2012-04-28T23:27:32.950 に答える