質問編集履歴

3

書き直し

2021/06/14 20:17

投稿

hazuma
hazuma

スコア20

test CHANGED
File without changes
test CHANGED
@@ -1,167 +1,3 @@
1
1
  #質問内容
2
2
 
3
- 掲示板アプリを作成しているのですが、Twitterが選択された場合とYouTubeが選択された場合でどのような分岐処理を書いたらいいのか分からない為質問させてください。
4
-
5
-
6
-
7
- #実装したいこと
8
-
9
- Youtubeとtwitterのツイートの埋め込み処理をAPIを使わずにローカルで行う
10
-
11
- Twitterという項目を追加、
12
-
13
- Twitterが選択された場合とYouTubeが選択された場合で処理を分岐し、
14
-
15
- 選ばれた適切な埋め込みメディアを表示する。
16
-
17
-
18
-
19
- [成功例](https://i.gyazo.com/36ba9a97ea6dfb525d78fd698924cb9f.gif)
20
-
21
- #今の状態
22
-
23
- **出来ていること--> Youtubeの埋め込み&セレクトボックスにYoutubeだけでなくTwitterも追加**
24
-
25
- [現段階](https://i.gyazo.com/6ace87cef7bef7d592f697a6765cdf54.gif)
26
-
27
-
28
-
29
- **出来てないこと -->セレクトボックスでtwitterを選択された場合とyotubeが選択された場合で処理を分岐する。**
30
-
31
-
32
-
33
-
34
-
35
- ------
36
-
37
- enum_helpを用いてi18n対応セレクトボックスを作成しました。
38
-
39
- #該当しそうなコード
40
-
41
- show.html.slim
42
-
43
- ```
44
-
45
- .box-body
46
-
47
- - if embed.youtube?
48
-
49
- - if embed.identifier
50
-
51
- = render 'shared/embed_youtube', embed: embed, width: 560, height: 315
52
-
53
- .box-footer
54
-
55
- .pull-right
56
-
57
- = link_to edit_admin_article_article_block_path(article.uuid, article_block), \
58
-
59
- class: %w[btn btn-default js-edit-article-block], \
60
-
61
- data: { \
62
-
63
- remote: true, \
64
-
65
- disable: true \
66
-
67
- } do
68
-
69
- i.fa.fa-edit
70
-
71
- '
72
-
73
- | 編集
74
-
75
- ```
76
-
77
- edit.html.slim
78
-
79
- ```
80
-
81
- = simple_form_for embed, \
82
-
83
- html: { class: 'js-update-article-block' }, \
84
-
85
- url: admin_article_article_block_path(article.uuid, article_block), \
86
-
87
- data: { \
88
-
89
- remote: true, \
90
-
91
- disable: true \
92
-
93
- } do |f|
94
-
95
- .box-body
96
-
97
- = f.input :embed_type, collect: Embed.embed_types_i18n.invert, include_blank: false
98
-
99
- = f.input :identifier #URL格納
100
-
101
- .box-footer
102
-
103
- .pull-right
104
-
105
- => link_to 'キャンセル', '#', class: %w[btn btn-default js-cancel-article-block]
106
-
107
- => f.button :submit, class: %[btn btn-primary]
108
-
109
- ```
110
-
111
- _embed_youtube.html.slim
112
-
113
- ```
114
-
115
- ruby:
116
-
117
- embed = local_assigns[:embed]
3
+ aaaaaaaaaaaaaaaaaaaaaaaaaaa
118
-
119
- width = local_assigns[:width] || 853
120
-
121
- height = local_assigns[:height] || 480
122
-
123
-
124
-
125
- .embed-youtube # youtube埋め込みの処理
126
-
127
- = content_tag 'iframe', nil, width: width, height: height, src: "https://www.youtube.com/embed/#{embed.split_id_from_youtube_url}", \
128
-
129
- frameborder: 0, gesture: 'media', allow: 'encrypted-media', allowfullscreen: true
130
-
131
-
132
-
133
- .embed-twitter # twitter埋め込みの処理
134
-
135
- blockquote.twitter-tweet
136
-
137
- a href="#{embed.identifier}"
138
-
139
- script async="" charset="utf-8" src="https://platform.twitter.com/widgets.js"
140
-
141
- ```
142
-
143
- ```
144
-
145
- embed.rb
146
-
147
- enum embed_type: { youtube: 0, twitter: 1 }
148
-
149
-
150
-
151
- --------------------------
152
-
153
-
154
-
155
- enum.ja.yml
156
-
157
- embed:
158
-
159
- embed_type:
160
-
161
- youtube: 'YouTube'
162
-
163
- twitter: 'twitter'
164
-
165
- ```
166
-
167
- **足りない箇所ありましたら追記致します**

2

文章の書き直し

2021/06/14 20:17

投稿

hazuma
hazuma

スコア20

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- [見本](https://i.gyazo.com/36ba9a97ea6dfb525d78fd698924cb9f.gif)
19
+ [成功例](https://i.gyazo.com/36ba9a97ea6dfb525d78fd698924cb9f.gif)
20
20
 
21
21
  #今の状態
22
22
 

1

gifの追加

2021/06/14 01:32

投稿

hazuma
hazuma

スコア20

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,11 @@
12
12
 
13
13
  Twitterが選択された場合とYouTubeが選択された場合で処理を分岐し、
14
14
 
15
- 選ばれた適切な埋め込みメディアを表示する
15
+ 選ばれた適切な埋め込みメディアを表示する
16
+
17
+
18
+
19
+ [見本](https://i.gyazo.com/36ba9a97ea6dfb525d78fd698924cb9f.gif)
16
20
 
17
21
  #今の状態
18
22
 
@@ -23,6 +27,8 @@
23
27
 
24
28
 
25
29
  **出来てないこと -->セレクトボックスでtwitterを選択された場合とyotubeが選択された場合で処理を分岐する。**
30
+
31
+
26
32
 
27
33
 
28
34