質問編集履歴

4

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

2018/10/21 15:44

投稿

begenner
begenner

スコア79

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,29 @@
40
40
 
41
41
  ので`.env`ファイルを利用する方法で考えたいと思います。
42
42
 
43
- お手数ですがよろしくお願いします
43
+ お手数ですがよろしくお願いします(m_ _m)
44
+
45
+ ちなみにディレクトリ構成は下記のとおりです。
46
+
47
+ ```
48
+
49
+ app_name
50
+
51
+ ├─app
52
+
53
+ │ └uploaders
54
+
55
+ │ └articleimage_uploader.rb
56
+
57
+ ├─config
58
+
59
+ │ └application.rb
60
+
61
+ │ └cloudinary.yml
62
+
63
+ └─.env
64
+
65
+ ```
44
66
 
45
67
 
46
68
 

3

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

2018/10/21 15:44

投稿

begenner
begenner

スコア79

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 現在cloudinaryを利用して画像アップロードをしようとしていますが
1
+ 現在ローカル環境でcloudinaryを利用して画像アップロードをしようとしていますが
2
2
 
3
3
  ```
4
4
 
@@ -76,7 +76,9 @@
76
76
 
77
77
  ###参考サイト
78
78
 
79
+ - [Rails + cloudinary + carrier wave 画像アップロードアプリのテスト](https://qiita.com/ntkgcj/items/6ca19c9decf929714970)
79
80
 
81
+ - [API key等をgithubで公開しない方法(rails,heroku)](https://qiita.com/uma0317/items/e142661c004f68d858a5)
80
82
 
81
83
  ###該当のソースコード
82
84
 

2

タイトルを変更しました

2018/10/21 15:13

投稿

begenner
begenner

スコア79

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

1

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

2018/10/21 15:09

投稿

begenner
begenner

スコア79

test CHANGED
@@ -1 +1 @@
1
- cloudinary使った画像アップロードURI::InvalidURIError
1
+ 環境設定ファイル読み込んくれない
test CHANGED
@@ -2,23 +2,59 @@
2
2
 
3
3
  ```
4
4
 
5
- URI::InvalidURIError at /managers/articles
5
+ Cloudinary::CarrierWave::UploadError at /managers/articles
6
6
 
7
- bad URI(is not URI?): https://api.cloudinary.com/v1_1/ENV['cloudinary_name']/auto/upload
7
+ Invalid api_key ENV['CLOUDINARY_API_KEY']
8
+
9
+
8
10
 
9
11
  ```
10
12
 
11
13
  というエラーがでてアップロードできません(m_ _m)
12
14
 
15
+ 環境変数を定義するときは`gem 'dotenv-rails'` をつかっています
16
+
13
17
  わかる方がいらっしゃれば教えていただきますようよろしくお願いいたします(m_ _m)
18
+
19
+
20
+
21
+ ###※追記(2018/10/21)
22
+
23
+ 環境変数をベタ書きでするとアップロードができました。
24
+
25
+
26
+
27
+ `config/cloudinary.yml`でなぜか`.env`ファイルから環境変数が読み込めていないこと
28
+
29
+
30
+
31
+ が原因のような気がします。
32
+
33
+ ベタ書きしてもいいのですがgithubにあげることなどを考えると
34
+
35
+
36
+
37
+ `config/cloudinary.yml`の環境変数は隠したい
38
+
39
+
40
+
41
+ ので`.env`ファイルを利用する方法で考えたいと思います。
42
+
43
+ お手数ですがよろしくお願いします。
44
+
45
+
14
46
 
15
47
  ### エラー画面
16
48
 
17
- ![イメージ説明](e5a50cc6692dd021018f4fc5cdea0881.png)
49
+ ![イメージ説明](e618d14fa330838f3c1b886febe40e5c.png)
18
50
 
19
51
  ![イメージ説明](b72976da3f44306781ee7b34a6da1631.png)
20
52
 
21
53
  ![イメージ説明](daf1f1ecea940ac687261b916fe269aa.png)
54
+
55
+
56
+
57
+
22
58
 
23
59
 
24
60
 
@@ -32,9 +68,7 @@
32
68
 
33
69
  Ruby:2.3.5
34
70
 
35
- Ruby on Rails: 4.2.10
71
+ Ruby on Rails: 4.2.5
36
-
37
- MySQL: 5.7.18
38
72
 
39
73
  (gem 'dotenv-rails' をつかっています)
40
74
 
@@ -42,9 +76,7 @@
42
76
 
43
77
  ###参考サイト
44
78
 
45
- [Railsで環境別に環境変数を管理するdotenv](https://morizyun.github.io/ruby/library-dotenv.html)
46
79
 
47
- [Cloudinary + Carrierwave + Heroku + Railsでの画像を手軽に利用する方法](https://qiita.com/GenTamura84/items/38cf899827bba050a21c)
48
80
 
49
81
  ###該当のソースコード
50
82
 
@@ -92,6 +124,22 @@
92
124
 
93
125
  ```
94
126
 
127
+ ./.env
128
+
129
+ ```ruby
130
+
131
+ # cloudinary
132
+
133
+ CLOUDINARY_NAME=自分のclouldinary_name
134
+
135
+ CLOUDINARY_API_KEY = '自分のcloudinary_api_key'
136
+
137
+ CLOUDINARY_API_SECRET=自分のcloudinary_api_secret
138
+
139
+
140
+
141
+ ```
142
+
95
143
 
96
144
 
97
145
  app/uploaders/articleimage_uploader.rb
@@ -102,27 +150,7 @@
102
150
 
103
151
 
104
152
 
105
- # Choose what kind of storage to use for this uploader:
106
-
107
- # if Rails.env.production?
108
-
109
- include Cloudinary::CarrierWave
153
+ include Cloudinary::CarrierWave
110
-
111
- # else
112
-
113
- # include CarrierWave::RMagick
114
-
115
- # storage :file
116
-
117
- # end
118
-
119
-
120
-
121
- def store_dir
122
-
123
- "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
124
-
125
- end
126
154
 
127
155
  version :standard do
128
156
 
@@ -143,111 +171,3 @@
143
171
 
144
172
 
145
173
  ```
146
-
147
-
148
-
149
- リレーション
150
-
151
- ```ruby
152
-
153
- #app/model/article.rb
154
-
155
- # image_uploader(cloudinary)
156
-
157
- attr_accessor :picture
158
-
159
- mount_uploader :picture, ArticleimageUploader
160
-
161
- ```
162
-
163
-
164
-
165
-
166
-
167
- app/controllers/article_controller.rb
168
-
169
- ```ruby
170
-
171
- class ArticlesController < Managers::ManagersBase
172
-
173
- def create
174
-
175
- @article = Article.create(article_params)
176
-
177
- if @article.save
178
-
179
- redirect_to managers_articles_path
180
-
181
- else
182
-
183
- render 'new'
184
-
185
- end
186
-
187
- end
188
-
189
-
190
-
191
- def article_params
192
-
193
- params.require(:article).permit(:title, :picture,)
194
-
195
- end
196
-
197
- end
198
-
199
- ```
200
-
201
-
202
-
203
- app/views/articles/new.html.erb
204
-
205
- ```ruby
206
-
207
- <%= form_for @article do |f| %>
208
-
209
-
210
-
211
- <div class="field">
212
-
213
- <%= f.label :title %>
214
-
215
- <%= f.text_field :title %>
216
-
217
- </div>
218
-
219
-
220
-
221
- <div class="field">
222
-
223
- <%= f.label :details %>
224
-
225
- <%= f.text_area :details %>
226
-
227
- </div>
228
-
229
-
230
-
231
- <div class="field">
232
-
233
- <%= f.label :picture %><br />
234
-
235
- <%= image_tag(@article.picture.url(:thumbnail), width: 100, height: 100) %>
236
-
237
- <%= f.file_field :picture %>
238
-
239
- </div>
240
-
241
-
242
-
243
- <div class="actions">
244
-
245
- <%= f.submit, %>
246
-
247
- </div>
248
-
249
-
250
-
251
- <% end %>
252
-
253
- ```