質問編集履歴

4

タイトルをよりわかりやすいものに変更しました!

2020/06/29 02:36

投稿

ko_no
ko_no

スコア16

test CHANGED
@@ -1 +1 @@
1
- Rails グルプ一覧の並び順を関連付けされたテーブル(messageテーブル)のデータで並べ替える
1
+ Rails の並び順を関連付けされたテーブル(messageテーブル)のデータで並べ替える
test CHANGED
File without changes

3

リレーションを追記しました!

2020/06/29 02:36

投稿

ko_no
ko_no

スコア16

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,8 @@
23
23
  group_usersテーブル(中間テーブルでuser_idとgroup_idが入っています)
24
24
 
25
25
  以上4テーブル
26
+
27
+ groupテーブルとmessageテーブルのリレーションはhas_manyとbelongs_toで繋げてあります!
26
28
 
27
29
 
28
30
 

2

タイトルをよりわかりやすいものに変更しました!

2020/06/26 02:47

投稿

ko_no
ko_no

スコア16

test CHANGED
@@ -1 +1 @@
1
- rails グループ一覧の並び順をループ内メッセジ投稿順にす方法
1
+ Rails グループ一覧の並び順を関連付けされたテーブ(messageテブル)タで並べ替え
test CHANGED
File without changes

1

アドバイスをもとにコードを変えました!

2020/06/26 02:45

投稿

ko_no
ko_no

スコア16

test CHANGED
File without changes
test CHANGED
@@ -48,10 +48,54 @@
48
48
 
49
49
  def index
50
50
 
51
- @groups = Group.all.order(message.created_at: :desc)#これだとエラーでした、、、
51
+ @groups = Group.includes(:message).order("messages.created_at DESC")
52
+
53
+ binding.pry →=> #<Group::ActiveRecord_Relation:0x3fc419ff6ca8>#何も入っていない??
52
54
 
53
55
  end
54
56
 
55
57
 
56
58
 
57
59
  ```
60
+
61
+ 上記のコードで試しましたが、エラーになってしまいます、、、
62
+
63
+
64
+
65
+ ###エラー文↓
66
+
67
+ ActiveRecord::ConfigurationError in Groups#index
68
+
69
+
70
+
71
+ Showing /Users/kounotakumi/projects/tentyo-chat/app/views/layouts/_group_index.html.erb where line #10 raised:
72
+
73
+
74
+
75
+ Can't join 'Group' to association named 'message'; perhaps you misspelled it?→上手くjoinできていない??
76
+
77
+
78
+
79
+ Extracted source (around line #10):
80
+
81
+ ```
82
+
83
+ 8 <% end %>
84
+
85
+ 9 </div>
86
+
87
+ 10 <% groups.each do |group| %>
88
+
89
+ 11 <div class="Main__left__group">
90
+
91
+ 12 <%= link_to(group_messages_path(group), class: 'Main__left__group-a') do %>
92
+
93
+ 13 <div class="Main__left__group-name">
94
+
95
+ ```
96
+
97
+
98
+
99
+
100
+
101
+ Trace of template inclusion: #<ActionView::Template app/views/groups/index.html.erb locals=[]>