質問編集履歴

2

試したことの追加

2021/10/21 16:48

投稿

qwertyuiopp
qwertyuiopp

スコア3

test CHANGED
@@ -1 +1 @@
1
- タグ検索機能の実装。紐付く投稿表示されず困っています。
1
+ タグ検索機能の実装。joinsメソッドによる結合できず困っています。
test CHANGED
@@ -4,7 +4,11 @@
4
4
 
5
5
  現在アプリケーションの実装中です。アプリケーション内容としましては、タグ付けしたレシピを投稿⇨トップページからタグの検索⇨タグに紐付いたレシピの表示を行いたいのですが、ビューファイルは表示されてもレシピが表示されません。
6
6
 
7
+
8
+
7
- おそらくrecipesテーブルにtagカラムが存在しないせいだ思うのですが、解決方法が分からず困っています。
9
+ recipesテーブルにtagに紐づくカラムが存在しないからjoinsメソッドを定義しましたが、現在も表示できないことからjoins定義部に不備があるのと思います。
10
+
11
+ 記述や定義方法の見直し・変更を行っても原因が明確にならず困っています。
8
12
 
9
13
 
10
14
 
@@ -118,7 +122,7 @@
118
122
 
119
123
  if research != ""
120
124
 
121
- Recipe.where('text LIKE(?)', "%#{research}%")
125
+    Recipe.joins(:recipe_tag_relations).where('text LIKE(?)', "%#{research}%")
122
126
 
123
127
  else
124
128
 
@@ -280,9 +284,13 @@
280
284
 
281
285
  と表示されました。
282
286
 
287
+
288
+
283
289
  keywordに入力はできているので、レシピとの紐付けはタグ付け機能を実装した際に中間テーブル・Formオブジェクトを使用した際にできている。
284
290
 
291
+
292
+
285
- どこかで紐付けできていないのだと思うのですが、原因が見つけられませんでした
293
+ recipesテーブルにtagのカラム存在しない為、テーブル結合を行ためにjoinsメソッドを定義したのですが、原因が見つけられず困ってい
286
294
 
287
295
 
288
296
 

1

ソースコードの追加

2021/10/21 16:48

投稿

qwertyuiopp
qwertyuiopp

スコア3

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- 現在アプリケーションの実装中です。アプリケーション内容としましては、タグ付けしたレシピを投稿⇨トップページからタグの検索⇨タグに紐付いたレシピの表示を行いたいのですが、ビューファイルは表示されてもレシピが表示されず困ってい
5
+ 現在アプリケーションの実装中です。アプリケーション内容としましては、タグ付けしたレシピを投稿⇨トップページからタグの検索⇨タグに紐付いたレシピの表示を行いたいのですが、ビューファイルは表示されてもレシピが表示されません
6
+
6
-
7
+ おそらくrecipesテーブルにtagのカラムが存在しないせいだと思うのですが、解決方法が分からず困っています。
8
+
9
+
10
+
7
- 原因がお分かりになる方がいらっしゃいましたら、ご教授お願い致します。
11
+ 解決方法がお分かりになる方がいらっしゃいましたら、ご教授お願い致します。
8
12
 
9
13
 
10
14
 
@@ -180,6 +184,90 @@
180
184
 
181
185
  ```
182
186
 
187
+ migrate/~~~recipes.rb
188
+
189
+ ```
190
+
191
+ class CreateRecipes < ActiveRecord::Migration[6.0]
192
+
193
+ def change
194
+
195
+ create_table :recipes do |t|
196
+
197
+ t.string :title, null:false
198
+
199
+ t.text :material, null: false
200
+
201
+ t.text :text, null: false
202
+
203
+ t.references :user, null: false, foreign_key: true
204
+
205
+ t.integer :category_id, null: false
206
+
207
+ t.integer :time_require_id, null: false
208
+
209
+
210
+
211
+ t.timestamps
212
+
213
+ end
214
+
215
+ end
216
+
217
+ end
218
+
219
+ ```
220
+
221
+ migrate/~~~tags.rb
222
+
223
+ ```
224
+
225
+ class CreateTags < ActiveRecord::Migration[6.0]
226
+
227
+ def change
228
+
229
+ create_table :tags do |t|
230
+
231
+
232
+
233
+ t.string :name, null: false, uniquness: true
234
+
235
+ t.timestamps
236
+
237
+ end
238
+
239
+ end
240
+
241
+ end
242
+
243
+ ```
244
+
245
+ migrate/~~~recipe_tag_relations(中間テーブル)
246
+
247
+ ```
248
+
249
+ class CreateRecipeTagRelations < ActiveRecord::Migration[6.0]
250
+
251
+ def change
252
+
253
+ create_table :recipe_tag_relations do |t|
254
+
255
+
256
+
257
+ t.references :tag, null: false, foreign_key: true
258
+
259
+ t.references :recipe, null: false, foreign_key: true
260
+
261
+ t.timestamps
262
+
263
+ end
264
+
265
+ end
266
+
267
+ end
268
+
269
+ ```
270
+
183
271
 
184
272
 
185
273
  ### 試したこと