質問するログイン新規登録

質問編集履歴

4

ディレクトリ構造を追加しました

2018/10/21 15:44

投稿

begenner
begenner

スコア80

title CHANGED
File without changes
body CHANGED
@@ -19,7 +19,18 @@
19
19
  `config/cloudinary.yml`の環境変数は隠したい
20
20
 
21
21
  ので`.env`ファイルを利用する方法で考えたいと思います。
22
- お手数ですがよろしくお願いします
22
+ お手数ですがよろしくお願いします(m_ _m)
23
+ ちなみにディレクトリ構成は下記のとおりです。
24
+ ```
25
+ app_name
26
+ ├─app
27
+ │ └uploaders
28
+ │ └articleimage_uploader.rb
29
+ ├─config
30
+ │ └application.rb
31
+ │ └cloudinary.yml
32
+ └─.env
33
+ ```
23
34
 
24
35
  ### エラー画面
25
36
  ![イメージ説明](e618d14fa330838f3c1b886febe40e5c.png)

3

参考サイトを追加しました

2018/10/21 15:44

投稿

begenner
begenner

スコア80

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 現在cloudinaryを利用して画像アップロードをしようとしていますが
1
+ 現在ローカル環境でcloudinaryを利用して画像アップロードをしようとしていますが
2
2
  ```
3
3
  Cloudinary::CarrierWave::UploadError at /managers/articles
4
4
  Invalid api_key ENV['CLOUDINARY_API_KEY']
@@ -37,7 +37,8 @@
37
37
  (gem 'dotenv-rails' をつかっています)
38
38
 
39
39
  ###参考サイト
40
-
40
+ - [Rails + cloudinary + carrier wave 画像アップロードアプリのテスト](https://qiita.com/ntkgcj/items/6ca19c9decf929714970)
41
+ - [API key等をgithubで公開しない方法(rails,heroku)](https://qiita.com/uma0317/items/e142661c004f68d858a5)
41
42
  ###該当のソースコード
42
43
  config/application.rb
43
44
  ```ruby

2

タイトルを変更しました

2018/10/21 15:13

投稿

begenner
begenner

スコア80

title CHANGED
@@ -1,1 +1,1 @@
1
- 環境設定ファイルを読み込んでくれない
1
+ config/cloudinary.ymlファイルが環境設定ファイルを読み込んでくれない
body CHANGED
File without changes

1

タイトルを変更、ほか追記があります(エラーの原因の特定)。

2018/10/21 15:09

投稿

begenner
begenner

スコア80

title CHANGED
@@ -1,1 +1,1 @@
1
- cloudinary使った画像アップロードURI::InvalidURIError
1
+ 環境設定ファイル読み込んくれない
body CHANGED
@@ -1,27 +1,43 @@
1
1
  現在cloudinaryを利用して画像アップロードをしようとしていますが
2
2
  ```
3
- URI::InvalidURIError at /managers/articles
3
+ Cloudinary::CarrierWave::UploadError at /managers/articles
4
- bad URI(is not URI?): https://api.cloudinary.com/v1_1/ENV['cloudinary_name']/auto/upload
4
+ Invalid api_key ENV['CLOUDINARY_API_KEY']
5
+
5
6
  ```
6
7
  というエラーがでてアップロードできません(m_ _m)
8
+ 環境変数を定義するときは`gem 'dotenv-rails'` をつかっています
7
9
  わかる方がいらっしゃれば教えていただきますようよろしくお願いいたします(m_ _m)
10
+
11
+ ###※追記(2018/10/21)
12
+ 環境変数をベタ書きでするとアップロードができました。
13
+
14
+ `config/cloudinary.yml`でなぜか`.env`ファイルから環境変数が読み込めていないこと
15
+
16
+ が原因のような気がします。
17
+ ベタ書きしてもいいのですがgithubにあげることなどを考えると
18
+
19
+ `config/cloudinary.yml`の環境変数は隠したい
20
+
21
+ ので`.env`ファイルを利用する方法で考えたいと思います。
22
+ お手数ですがよろしくお願いします。
23
+
8
24
  ### エラー画面
9
- ![イメージ説明](e5a50cc6692dd021018f4fc5cdea0881.png)
25
+ ![イメージ説明](e618d14fa330838f3c1b886febe40e5c.png)
10
26
  ![イメージ説明](b72976da3f44306781ee7b34a6da1631.png)
11
27
  ![イメージ説明](daf1f1ecea940ac687261b916fe269aa.png)
12
28
 
29
+
30
+
13
31
  ###期待する動作
14
32
  development環境からでもcloudinaryにアップロードできるようにしたい
15
33
  ###動作環境
16
34
  OS:mac
17
35
  Ruby:2.3.5
18
- Ruby on Rails: 4.2.10
36
+ Ruby on Rails: 4.2.5
19
- MySQL: 5.7.18
20
37
  (gem 'dotenv-rails' をつかっています)
21
38
 
22
39
  ###参考サイト
23
- [Railsで環境別に環境変数を管理するdotenv](https://morizyun.github.io/ruby/library-dotenv.html)
40
+
24
- [Cloudinary + Carrierwave + Heroku + Railsでの画像を手軽に利用する方法](https://qiita.com/GenTamura84/items/38cf899827bba050a21c)
25
41
  ###該当のソースコード
26
42
  config/application.rb
27
43
  ```ruby
@@ -45,22 +61,20 @@
45
61
  enhance_image_tag: true
46
62
  static_image_support: false
47
63
  ```
64
+ ./.env
65
+ ```ruby
66
+ # cloudinary
67
+ CLOUDINARY_NAME=自分のclouldinary_name
68
+ CLOUDINARY_API_KEY = '自分のcloudinary_api_key'
69
+ CLOUDINARY_API_SECRET=自分のcloudinary_api_secret
48
70
 
71
+ ```
72
+
49
73
  app/uploaders/articleimage_uploader.rb
50
74
  ```ruby
51
75
  class ArticleimageUploader < CarrierWave::Uploader::Base
52
76
 
53
- # Choose what kind of storage to use for this uploader:
54
- # if Rails.env.production?
55
- include Cloudinary::CarrierWave
77
+ include Cloudinary::CarrierWave
56
- # else
57
- # include CarrierWave::RMagick
58
- # storage :file
59
- # end
60
-
61
- def store_dir
62
- "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
63
- end
64
78
  version :standard do
65
79
  process :resize_to_fill => [400, 400, :center]
66
80
  end
@@ -70,58 +84,4 @@
70
84
  end
71
85
  end
72
86
 
73
- ```
74
-
75
- リレーション
76
- ```ruby
77
- #app/model/article.rb
78
- # image_uploader(cloudinary)
79
- attr_accessor :picture
80
- mount_uploader :picture, ArticleimageUploader
81
- ```
82
-
83
-
84
- app/controllers/article_controller.rb
85
- ```ruby
86
- class ArticlesController < Managers::ManagersBase
87
- def create
88
- @article = Article.create(article_params)
89
- if @article.save
90
- redirect_to managers_articles_path
91
- else
92
- render 'new'
93
- end
94
- end
95
-
96
- def article_params
97
- params.require(:article).permit(:title, :picture,)
98
- end
99
- end
100
- ```
101
-
102
- app/views/articles/new.html.erb
103
- ```ruby
104
- <%= form_for @article do |f| %>
105
-
106
- <div class="field">
107
- <%= f.label :title %>
108
- <%= f.text_field :title %>
109
- </div>
110
-
111
- <div class="field">
112
- <%= f.label :details %>
113
- <%= f.text_area :details %>
114
- </div>
115
-
116
- <div class="field">
117
- <%= f.label :picture %><br />
118
- <%= image_tag(@article.picture.url(:thumbnail), width: 100, height: 100) %>
119
- <%= f.file_field :picture %>
120
- </div>
121
-
122
- <div class="actions">
123
- <%= f.submit, %>
124
- </div>
125
-
126
- <% end %>
127
87
  ```