質問編集履歴

1

・アソシエーションの追記、モデルA,Bを具体的に記載

2020/04/08 01:05

投稿

kokitail
kokitail

スコア135

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  -# 入力フォーム
40
40
 
41
- = form_with(model: [@モデルA, @モデルB], local: true) do |f|
41
+ = form_with(model: [@book, @note], local: true) do |f|
42
42
 
43
43
  .summary-form
44
44
 
@@ -76,7 +76,7 @@
76
76
 
77
77
  def review_params
78
78
 
79
- params.require(:モデルB).permit(:review_content)
79
+ params.require(:note).permit(:review_content)
80
80
 
81
81
  end
82
82
 
@@ -84,11 +84,57 @@
84
84
 
85
85
  def summary_params
86
86
 
87
- params.require(:モデルB).permit(:summary_content)
87
+ params.require(:note).permit(:summary_content)
88
88
 
89
89
  end
90
90
 
91
91
  end
92
+
93
+ ```
94
+
95
+
96
+
97
+ ```Ruby
98
+
99
+ # 各モデル
100
+
101
+
102
+
103
+ class Book < ApplicationRecord
104
+
105
+ has_many :notes
106
+
107
+ end
108
+
109
+
110
+
111
+ class Note < ApplicationRecord
112
+
113
+ belongs_to :book
114
+
115
+ has_many :summaries
116
+
117
+ has_many :reviews
118
+
119
+ end
120
+
121
+
122
+
123
+ class Summary < ApplicationRecord
124
+
125
+ belongs_to :note
126
+
127
+ end
128
+
129
+
130
+
131
+ class Review < ApplicationRecord
132
+
133
+ belongs_to :note
134
+
135
+ end
136
+
137
+
92
138
 
93
139
  ```
94
140
 
@@ -99,3 +145,23 @@
99
145
 
100
146
 
101
147
  ・private内でキー名を変更してcreateアクションに渡せばよいかと思いましたが、簡単にキー名を変更できるメソドが探せずどうすればスマートか教えていただきたいです。
148
+
149
+
150
+
151
+ ### 補足
152
+
153
+
154
+
155
+ ここで登場するのは4つのテーブルです。
156
+
157
+ 1.booksテーブル
158
+
159
+ 2.notesテーブル
160
+
161
+ 3.summariesテーブル
162
+
163
+ 4.reviewsテーブル
164
+
165
+
166
+
167
+ 一つのbookに対して多くのnote、さらにそこからsummaryとreviewが枝分かれするイメージです。