答えて
私は二つの方法を参照してください。あなたのレールのサーバーの上に
- を、生産で、時にはdev内には、ApacheやnginxのようなWebサーバを使用する必要があります。これらを使用すると、特定のURLのために他のディレクトリのファイルを提供することができます。例えば。特定のディレクトリからファイルを配信することができます
http://yourapp.com/images/
。あなたは、サーバーの設定にアクセスすることができない場合は、コントローラのアクションから画像ファイルを提供することができます# Find the right `server` section which you currently use to serve your rails app server { listen 80; # Add this location /images { root /var/www/my/specific/folder; } location/{ #... #... Here you should already some code to proxy to your rails server } } With that, when you access to `yourserver.com/images`, nginx serve your specific folder and not your rails app. Then in your app view : <%= image_tag 'http://yourserver.com/images/my_pic.jpg' %>
:レールでは、nginxの持つ伝統
image_tag
例で画像を表示
:コントローラでclass ImagesController < ApplicationController def show send_file File.join('/var/www/my/specific/folder',params[:name]), :disposition => 'inline' end end
send_file
と
config/routes.rb
match '/images/:name' => 'images#show', :as => :custom_image
で
あなたは(あなたが
config/routes.rb
で定義された経路を介して)このアクションにアクセスするときに、あなたがイメージを持っています。だからあなたのビューであなたはこのURLで伝統image_tag
の操作を行います。<%= image_tag custom_image_path('my_pic.jpg') %> OR <%= image_tag custom_image_url('my_pic.jpg') %>
それは、それが資産パイプラインに属していないと、あなたは、単にそれにリンクすることができ、Railsのアプリのディレクトリの外に保存されている場合:
<%= image_tag("http://example.com/some_file.jpg") %>
明らかにそれはHTTPを介してアクセス可能でなければなりません(あなたがnginxのまたはApacheが必要サーバーがインストールされています)。
どのようにアプリケーションを本番環境で使用していますか?ポート80でMongrelを実行していますか? –
これはおそらく悪い考えであるとの問題の束につながります。いくつかのセキュリティ、いくつかの機能性、しかし私が実際に知らないエフェクトのほとんど。
は、私はあなたがレールに対してのものであり、それは壊すものの滑りやすい斜面何とため規則に行く時はいつでも、最高の回避という、経験から、知っています。
提供されているフレームワークを使用してソリューションを作成します。
js、css、およびイメージをパブリックにコピーするアセットのコンパイルにより、< = 3.0ではなく、レール3.1+を使用している場合、この機能は少しでも影響を受けることに注意してください。
- 1. Ruby on Railsのタイムスタンプ画像
- 2. どのようにして疑問符を削除できますか? Ruby on Rails 2.3.5のRuby on RailsのファイルへのJSパスとCSSパス
- 3. Ruby on Railsの表示
- 4. Ruby on Rails - Carrierwave、複数の画像をアップロードできません
- 5. どのように画像の配列を表示できますか?
- 6. Ruby on Railsパブリックフォルダへのパス
- 7. Ruby on Rails、画像リンクのサイジング
- 8. 私はどのように私のPHPアプリケーションのWebルートディレクトリの外に画像を表示できますか?
- 9. CSSのRuby on Rails 2に背景画像を追加する
- 10. Ruby on Railsのインメモリキャッシュストアのキーを一覧表示するにはどうすればよいですか?
- 11. ruby on rails3のディレクトリから画像を表示
- 12. "customErrors mode =" On ""のときに、どのように例外を表示/使用/ログに記録できますか?
- 13. "Ruby on Rails gem"のようなものはありますか?
- 14. Ruby on Rails:ページにレンダリングされる部分パスをどのようにリストしますか?
- 15. Ruby on Railsのモバイル版の表示
- 16. アプレット以外のブラウザで動きのある画像を表示するには
- 17. ruby on railsのレイアウトに画像を追加
- 18. Ruby On Rails - パラメータに依存するcollection_selectのデフォルトオプションを表示
- 19. Ruby on Railsのフィールドを非表示にする
- 20. Ruby on Rails:表示なしのアクション
- 21. Ruby On Rails表示するXML
- 22. Windows IIS 7でRuby on Railsをどのように再起動しますか?
- 23. Ruby on Railsでmongodb(mongoid)フィールド名をどのようにカスタマイズしますか?
- 24. Ruby on Railsにどのようにパッチを適用しますか?
- 25. Ruby on Railsアプリケーションをhostgatorにどのように配備しますか?
- 26. コンソールからRuby on Rails Rails.root.join ymlファイルにどのようにアクセスしますか?
- 27. Touch Onナビゲーションバーの画像表示を認識できません。
- 28. Ruby on Rails、devise:どのように私はユーザーのテーブルのIDをposts.user_idの列に追加できますか?
- 29. Ruby on Railsの動的画像モックアップをレンダリングする
- 30. Ruby on Rails、あるオブジェクトから別のオブジェクトに画像を渡すか、またはNEWからCREATEへ
私の編集を参照してください。カスタム名前付きルートでどのように使用するかを示します。 –
そして私は私の例に合うようにコントローラを編集しました... –
AFAIK、いいえ。レール範囲内では、レールスタックに従わなければなりません。しかし、コントローラは30年代に作成されています...必要に応じて、他のコントローラ内でアクションを統合することができます。私はむしろ、最初の解決策を見てみることをお勧めします。今では開発者の中にアプリケーションの上にWebサーバーがない場合でも、プロダクションではそうなります。それは(Apache上で仮想ホストを作るか、nginxの新しいサーバを作る...) –