質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

1回答

3241閲覧

railsで、ユーザーが画像をアップロードできる自作サイトを作り今からHerokuへデプロイするのですが、アップされた画像はどこへ保存されますか?

teruwa

総合スコア49

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

1クリップ

投稿2016/11/09 15:54

編集2016/11/09 15:55

プログラム経験がまだまだ浅い素人です。

開発段階でなら、rails sコマンドでサーバーを立ち上げてそこになにか画像をアップロードしてもせいぜい数枚の画像が保存されるだけで、それがどこのディレクトリに保存されているのかということも、「今後どんどんアップロードされる画像は増えつづける」ということも気にしなかったのですが、

いざHerokuへデプロイしようと思いサーバーの料金や容量を調べようとしたとき、
「もしかして、アップした画像の保存先をあらかじめ自分でherokuのサーバーとかに指定しないといけないのではないか?」
だとか、
「例えばサイトをデプロイしリニューアルし直したとき、保存先をサーバー側にちゃんと指定しておかないとユーザーから預かった個人情報のメールアドレスやユーザーがアップした画像は消えてしまうことにならないか?!」という疑問と焦りを感じてしまいました。
(画像のアップロード機能にはGemの「carrierwave」とHerokuのアドオンであるCloudinaryいうものを使用しており、その使用方法を調べていた時にちらっとそういう話も聞いた気がしまして、、、)

全部自分の思い過ごしで、デプロイさえすれば何も特別な設定を行わなくてもサイトにアップされる画像データはサイトをリニューアルしたりしても再度デプロイした時に消えたりせず、アップされた画像により蓄積されていくデータの容量などもHerokuのプランまでなら好きなだけ保存してもらえるのならいいのですが、、、

実はこれが初めての自作ホームページリリース&デプロイなのです、何としても成功させたく。。。

Herokuにお詳しい方、どうかご教授ねがえれば幸いです・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Herokuの場合、実行環境にファイルを保存しても、再起動で消えてしまいますこちらの3番目)。データベースは永続します。

ということで、AWSを契約してCarrierWaveの保存先をS3に向けるなど、対応が必要になります。

投稿2016/11/09 22:57

編集2016/11/09 23:05
maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teruwa

2016/11/10 05:00 編集

AWSがなにかがわからず、グーグルで調べた結果アマゾンウェブサービスのことだとでました、あっているでしょうか? それと再起動で消える、ということは、やはりアップロードした画像データ以外にもユーザーのアカウントデータ(メールアドレスなど)までその際は消えてしまうということでしょうか?
maisumakun

2016/11/10 05:13

はい、Amazon Web Serviceの中に、Amazon Simple Storage Service(https://aws.amazon.com/jp/s3/)などがあります。 あと、データベースはHeroku Postgresなど、Herokuで立ち上げたマシン外に置かれるのがふつうですので、再起動や再構築で影響を受けることはありません(ユーザーデータなどもDBに置いていますよね?)。
teruwa

2016/11/10 05:32

半人前ゆえ、この話を聞いた自分の理解に自信がないことをお許しください! 現状、本当に「clowd9」というターミナルの上でrailsを使い自作サイトとなるアプリを作った、というまでの段階なのですが、、、 つまりcarrierwaveにより作られた画像アップロード機能、これを使ってユーザーがアップした画像はheroku再起動で消えてしまうが、 初期設定の時点ですでにrailsのdbディレクトリ内に保存されることになっている「deviseから受け取ったユーザーデータ」などはherokuを再起動しても消えないということでしょうか?
maisumakun

2016/11/10 08:03

データベースも、もちろんデフォルトのSQLite(こちらは再起動で消えてしまいます)ではなく、Heroku側が提供しているものに乗り換える必要があります。
teruwa

2016/11/10 08:49

やっぱりそうなのですね、、、 deviseから送られてくるUserのアカウント情報の保存先を、現在のrails内のデータベースからHeroku Postgresに変更する手順についてなのですが、大まかでもいいのでどうかもしよろしければご教授願えませんでしょうか。。。 今いろいろサイトを見て回っているのですが、自分の知識の浅さのせいでどのサイトが今回のケースにあったやり方を紹介してくれているのかわからず。。。 やり方が記載されているページを紹介していただけるだけでもありがたいので、どうかお願いできませんでしょうか・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問