回答編集履歴

2

追記

2020/01/20 10:47

投稿

rhiroe
rhiroe

スコア2349

test CHANGED
@@ -31,3 +31,61 @@
31
31
 
32
32
 
33
33
  最初に述べたようにざっくりとしか答えられませんが、非同期で画面を変更するのであれば「Rails Ajax」などで検索すると参考になるページがいくつか見つかると思います。
34
+
35
+
36
+
37
+ # 追記
38
+
39
+
40
+
41
+ > メッセージはまだ送信出来ません。
42
+
43
+
44
+
45
+ ボタンを押しても送信できていないということだと仮定しますが、原因はおそらく
46
+
47
+ ```haml
48
+
49
+ .new-field
50
+
51
+ = form_tag('/tweets', method: :post) do
52
+
53
+ %h3.new-tweets
54
+
55
+ ツイートする
56
+
57
+ %textarea{placeholder: "ツイート文を入力してください", cols: "50", rows: "20", class: "new-text"}
58
+
59
+ %i.fas.fa-camera
60
+
61
+ %input{type: "submit", class: "submit-button"}/
62
+
63
+ ```
64
+
65
+ の下2行分です。書き間違いかと思いましたが...。
66
+
67
+ まず、`<input type="submit">`がフォームの外に出てしまっています。
68
+
69
+ これは生成されたHTMLを確認してください。あとは未検証なので憶測ですが、
70
+
71
+ ```haml
72
+
73
+ %i.fas.fa-camera
74
+
75
+ %input{type: "submit", class: "submit-button"}/
76
+
77
+ ```
78
+
79
+ `<i class="fas fa-camera">`要素の中に`<input type="submit">`が入っていますが、
80
+
81
+ これだとsubmitボタンとしてうまく動かない気がします。やるなら
82
+
83
+ ```haml
84
+
85
+ %button{type: "submit", class: "submit-button"}
86
+
87
+ %i.fas.fa-camera
88
+
89
+ ```
90
+
91
+ こんな感じでは?

1

追記

2020/01/20 10:46

投稿

rhiroe
rhiroe

スコア2349

test CHANGED
@@ -1 +1,33 @@
1
1
  `textarea`にname属性が指定されていないので送信後`params`で受け取れていません。
2
+
3
+
4
+
5
+ # 補足について
6
+
7
+
8
+
9
+ まず、メッセージの送信はできるようになりましたか?
10
+
11
+ データとして受け取り、レコードとして登録できましたか?
12
+
13
+
14
+
15
+ > 一つ思いついたのがビューも変更しないといけないと思います。
16
+
17
+
18
+
19
+ 思いつきで質問を追加されても対応しきれないので次から別の質問にしてください。
20
+
21
+ 今質問者さんが作成されているアプリケーションの仕様を知らないのでざっくりとした質問にはざっくりとしか答えられないです。
22
+
23
+ メッセージを送信した後のメッセージ表示画面の話だと思いますが、コントローラを見た限りリダイレクト等がされてないのでメッセージの送信は非同期を想定していますでしょうか?
24
+
25
+ 非同期であればフォームに手を加える必要があったり、jQueryを使う必要があったりとさらに複雑になるのでここで回答するにはボリュームが大きすぎます。
26
+
27
+
28
+
29
+ > 私が検索下手なのか
30
+
31
+
32
+
33
+ 最初に述べたようにざっくりとしか答えられませんが、非同期で画面を変更するのであれば「Rails Ajax」などで検索すると参考になるページがいくつか見つかると思います。