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

回答編集履歴

6

オプション指定の間違いを修正

2021/02/05 02:06

投稿

oakbow
oakbow

スコア227

answer CHANGED
@@ -74,7 +74,7 @@
74
74
  んじゃこちらでも動くと思います。
75
75
 
76
76
  ```
77
- <%= audio_tag url_for(tweet.audio) controls: true %>
77
+ <%= audio_tag url_for(tweet.audio), controls: true %>
78
78
  ```
79
79
 
80
80
  他に `autoplay` などのオプションもあります。

5

audio_tagのオプションを記載

2021/02/05 02:06

投稿

oakbow
oakbow

スコア227

answer CHANGED
@@ -67,4 +67,14 @@
67
67
  ```
68
68
  # config/initializers/active_storage.rb
69
69
  ActiveStorage::Service.url_expires_in = 1.hour
70
- ```
70
+ ```
71
+ -------------------------
72
+
73
+ 単にコントロール表示してないだけだったのかな?
74
+ んじゃこちらでも動くと思います。
75
+
76
+ ```
77
+ <%= audio_tag url_for(tweet.audio) controls: true %>
78
+ ```
79
+
80
+ 他に `autoplay` などのオプションもあります。

4

別解をさらに追加

2021/02/05 02:05

投稿

oakbow
oakbow

スコア227

answer CHANGED
@@ -46,4 +46,25 @@
46
46
  <%= audio_tag rails_blob_url(tweet.audio) %>
47
47
  ```
48
48
 
49
- 手元で試せないので手探りですいません
49
+ 手元で試せないので手探りですいません
50
+
51
+ --------------------------
52
+
53
+ `audio_tag` を使わずに試すとどうでしょうか。
54
+
55
+ ```
56
+ <audio src="<%= url_for(tweet.audio) %>" controls>
57
+
58
+ or
59
+
60
+ <audio src="<%= rails_blob_url(tweet.audio) %>" controls>
61
+
62
+ ```
63
+
64
+ ちなみに、ActiveStorage の有効期限はデフォルトで5分なので、ページを表示してすぐじゃないと再生できないと思います。
65
+ とりあえず有効期限を伸ばす場合は以下のコードを追加します。
66
+
67
+ ```
68
+ # config/initializers/active_storage.rb
69
+ ActiveStorage::Service.url_expires_in = 1.hour
70
+ ```

3

別解を追加

2021/02/05 01:55

投稿

oakbow
oakbow

スコア227

answer CHANGED
@@ -36,4 +36,14 @@
36
36
  <%= audio_tag url_for(tweet.audio) %>
37
37
  ```
38
38
 
39
- ではどうでしょうか。
39
+ ではどうでしょうか。
40
+
41
+ --------------------------
42
+
43
+ もしくはこちらかな?
44
+
45
+ ```
46
+ <%= audio_tag rails_blob_url(tweet.audio) %>
47
+ ```
48
+
49
+ 手元で試せないので手探りですいません

2

別の解決策を追加

2021/02/05 01:45

投稿

oakbow
oakbow

スコア227

answer CHANGED
@@ -21,4 +21,19 @@
21
21
 
22
22
  <%= tweet.audio.inspect %>
23
23
 
24
- に変えてみて、記載される結果を教えてください。
24
+ に変えてみて、記載される結果を教えてください。
25
+
26
+ -------------------------
27
+
28
+ `audio_tag` って使ったことないけど `image_tag` と同じノリでは使えないのかな?
29
+
30
+ ```
31
+
32
+ <%= audio_tag tweet.audio %>
33
+
34
+  ↓
35
+
36
+ <%= audio_tag url_for(tweet.audio) %>
37
+ ```
38
+
39
+ ではどうでしょうか。

1

原因特定のためのコードを追加

2021/02/05 01:33

投稿

oakbow
oakbow

スコア227

answer CHANGED
@@ -11,4 +11,14 @@
11
11
  Tweet クラスのヴァリデーション定義を見る限り必須にしてありますが、修正前に登録したとかテストデータを入れてみたとかで、そうじゃないデータがあったりするのかもしれません。
12
12
 
13
13
 
14
- これで収束しないようでしたらまた教えてください。
14
+ これで収束しないようでしたらまた教えてください。
15
+
16
+ -------------------------
17
+
18
+ 収束しませんでしたか。残念。
19
+
20
+ <%= audio_tag tweet.audio %>
21
+
22
+ <%= tweet.audio.inspect %>
23
+
24
+ に変えてみて、記載される結果を教えてください。