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

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

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

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

アップロード

アップロードは特定のファイルをウェブサーバに送るプロセスのことを指します。

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

Q&A

解決済

1回答

1147閲覧

写真をアップロードするときにルーティングエラーになる

nanase21

総合スコア144

Heroku

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

アップロード

アップロードは特定のファイルをウェブサーバに送るプロセスのことを指します。

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

0グッド

0クリップ

投稿2020/01/24 00:30

編集2020/01/24 04:34

困っていることと実現したいこと

active storageを利用して写真をアップロードしています。
macの写真フォルダ(iCloud)から写真を選択してアップロードするとエラーが起きてしまいます。
そのため、現時点のエラー対処法として一旦icloud上にある写真をローカルに落としてからアップしているのですが、それをしなくてもアップロードできるようにする方法を知りたい。

イメージ説明

slim

1 2 = form_with scope: :user, url: user_path, model: @user, method: :patch, local: true do |f| 3 .form-group.text-center 4 img id="img1" class="default-image hidden" 5 .form-row.my-2 6 .col-7 7 label.btn.btn-block.text-white 8 .div +写真を選択 9 = f.file_field :image, style: "display:none;", id: "myfile" 10 .col-5 11 = f.submit 'send', class: "btn btn-block bg-danger text-white" 12 13 14script src="http://code.jquery.com/jquery-3.2.1.min.js" 15javascript: 16 $(function(){ 17 $('#myfile').change(function(e){ 18 //ファイルオブジェクトを取得する 19 var file = e.target.files[0]; 20 var reader = new FileReader(); 21 //画像でない場合は処理終了 22 if(file.type.indexOf("image") < 0){ 23 alert("画像ファイルを指定してください。"); 24 return false; 25 } 26 //delete default image 27 let thumbnail = document.getElementById("thumbnail"); 28 if (thumbnail){ 29 thumbnail.classList.add("hidden"); 30 } 31 let default_img = document.getElementById("default-image"); 32 if (default_img){ 33 default_img.classList.add("hidden"); 34 } 35 document.getElementById("img1").classList.remove("hidden"); 36 //アップロードした画像を設定する 37 reader.onload = (function(file){ 38 return function(e){ 39 $("#img1").attr("src", e.target.result); 40 $("#img1").attr("title", file.name); 41 }; 42 })(file); 43 reader.readAsDataURL(file); 44 }); 45 });

ruby

1Rails.application.routes.draw do 2 3 devise_for :users, :controllers => { 4 :registrations => 'users/registrations' 5 } 6 7 resources :users, only: [:update, :edit] do 8 get :thumbnail, on: :member 9 end 10 11 devise_for :admins, skip: :all 12 devise_scope :admin do 13 get 'admins/sign_in' => 'admins/sessions#new' 14 post 'admins/sign_in' => 'admins/sessions#create' 15 delete 'admins/sign_out' => 'admins/sessions#destroy' 16 end 17end

追記

ファイル名が日本語名でも同じようなエラーが起きてしまいます。

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

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

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

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

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

winterboum

2020/01/24 03:15

config/route.rbを載せてください
nanase21

2020/01/24 04:35

追記しました。
guest

回答1

0

ベストアンサー

resources :users, only: [:update, :edit] do
になっているのででしょう。 :create も追加してみてください。

投稿2020/01/24 07:30

winterboum

総合スコア23347

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

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

nanase21

2020/01/24 08:08

createアクションを追加したら確かにエラーは無くなったんですが、それと同時にイメージのアップデートが出来なくなりました。 active storageについてあまり詳しくないのでもう少しお聞きしたいのですが、active storageの場合、アプデート処理を行わずに写真を更新する場合は都度、現在の写真を削除してからcreateにするほうがいいのでしょうか? ご教示いただけると幸いです。
winterboum

2020/01/25 21:28

私もあまり詳しくないです。 アップデートを指示するview、controller、どうなったのか(出来ない、と否定形では何が起きたか分からないので)、logなどがないと何が原因かわかりません。 routesにcreateを追加する前は出来たのですか? createを追加する以外に何かしていませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問