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

回答編集履歴

2

url -> modelに変更

2020/09/26 14:12

投稿

my_oji
my_oji

スコア39

answer CHANGED
@@ -22,5 +22,5 @@
22
22
 
23
23
  new.html.erb
24
24
  ```
25
- <%= form_with url: @tweet, local: true do |f| %>
25
+ <%= form_with model: @tweet, local: true do |f| %>
26
26
  ```

1

新規作成もうまいこといくようにする方法を追記

2020/09/26 14:12

投稿

my_oji
my_oji

スコア39

answer CHANGED
@@ -5,4 +5,22 @@
5
5
  def tweet_params
6
6
  params.require(:tweet).permit(:image,:text,:title_info,:school_a_score,:school_b_score,:school_a_id,:school_b_id,:tournament_id).merge(user_id: current_user.id)
7
7
  end
8
+ ```
9
+
10
+
11
+ 追記
12
+
13
+ form_withにURLを渡す方法とオブジェクト(@tweet)を渡す方法では、データ送信した際にコントローラーに渡るデータの構造に違いがあることが原因です。
14
+ このため、新規作成も動くようにするには、updateと同じ方法でform_withを利用すればOKです。
15
+
16
+ コントローラ
17
+ ```ruby
18
+ def new
19
+ @tweet = Tweet.new
20
+ end
21
+ ```
22
+
23
+ new.html.erb
24
+ ```
25
+ <%= form_with url: @tweet, local: true do |f| %>
8
26
  ```