質問編集履歴
3
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,9 +29,7 @@
|
|
29
29
|
.main-header__left-box__member-list__lists
|
30
30
|
=link_to users_path class: "lists" do
|
31
31
|
=icon("far", "user")
|
32
|
-
|
32
|
+
|
33
|
-
- @group.users.each do |user|
|
34
|
-
=user.name
|
35
33
|
```
|
36
34
|
views > users > index.html.haml
|
37
35
|
```
|
2
画像の表示エラー
title
CHANGED
File without changes
|
body
CHANGED
@@ -96,9 +96,12 @@
|
|
96
96
|
|
97
97
|
|
98
98
|
### 画像
|
99
|
+
(1)
|
99
|
-
|
100
|
+

|
101
|
+
(2)
|
100
|
-
|
102
|
+

|
103
|
+
(3)
|
101
|
-
|
104
|
+

|
102
105
|
|
103
106
|
|
104
107
|
|
1
質問をもっと自分なりにわかりやすく改善しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ユーザー一覧
|
1
|
+
グループに登録したユーザー一覧を表示する
|
body
CHANGED
@@ -1,118 +1,78 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
3
|
ここに質問の内容を詳しく書いてください。
|
4
|
-
チャットアプリを作成していまして、ユーザー一覧を作ろうかと思いコードを書いていた
|
4
|
+
チャットアプリを作成していまして、グループに登録した人だけのユーザー一覧を作ろうかと思いコードを書いていた状態です。
|
5
5
|
|
6
|
-
|
6
|
+
アイコンをクリックしたら{下記画像(1)}、別ページでグループ一覧に飛び(下記画像(2)) グループの登録したユーザーが見れるようにしたいと思っています。
|
7
7
|
|
8
|
-
```error
|
9
|
-
|
8
|
+
それと、どうしたら(下記画像(2))の背景画像などを書き加えることができますか。
|
10
|
-
/Users/Desktop/app/views/messages/_main_chat.html.haml:47: syntax error, unexpected keyword_ensure, expecting end-of-input ensure ^~~~~~
|
11
|
-
Extracted source (around line #47):
|
12
9
|
|
10
|
+
例えば、国というグループがあり、国というグループ内にいるユーザーが、「太郎,平和」になるように表示したい。
|
13
11
|
|
14
|
-
45 = f.submit '送信', class: 'submit-btn'
|
15
12
|
|
16
13
|
|
17
|
-
|
18
|
-
Application Trace | Framework Trace | Full Trace
|
19
|
-
app/views/messages/_main_chat.html.haml:47: syntax error, unexpected keyword_ensure, expecting end-of-input
|
20
|
-
app/views/messages/index.html.haml:3:in `_app_views_messages_index_html_haml___4456441950543772533_70326727322400'
|
21
|
-
Request
|
22
|
-
Parameters:
|
23
|
-
|
24
|
-
{"group_id"=>"1"}
|
25
|
-
Toggle session dump
|
26
|
-
Toggle env dump
|
27
|
-
Response
|
28
|
-
Headers:
|
29
|
-
|
30
|
-
None
|
31
|
-
```
|
32
|
-
|
33
|
-
###
|
14
|
+
### 実装コード
|
34
|
-
_main_chat.html.haml
|
15
|
+
views > messages > _main_chat.html.haml
|
35
|
-
|
36
16
|
```haml
|
37
|
-
|
38
|
-
|
39
|
-
|
17
|
+
.chat-main
|
40
18
|
.main-header
|
41
19
|
.main-header__left-box
|
42
20
|
.main-header__left-box__current-group
|
43
21
|
= @group.name
|
44
22
|
.main-header__left-box__member-list
|
45
|
-
- @user.each do |user|
|
46
|
-
=user.name
|
47
|
-
|
23
|
+
= render partial: 'list'
|
48
|
-
.main-header__left-box__member-list__member
|
49
|
-
- @group.users.each do |user|
|
50
|
-
=user.name
|
51
|
-
|
52
|
-
.messages
|
53
|
-
= render @messages
|
54
24
|
|
55
|
-
.form
|
56
|
-
= form_for [@group, @message] do |f|
|
57
|
-
.form__input
|
58
|
-
= f.text_field :content, class: 'form__input--text', placeholder: 'メッセージを入力してください'
|
59
|
-
.input-box
|
60
|
-
= f.label :image, class: 'input-box__image' do
|
61
|
-
= icon('far', 'image', class: 'icon')
|
62
|
-
= f.file_field :image, class: 'input-box__image__file'
|
63
|
-
= f.submit '送信', class: 'submit-btn'
|
64
25
|
```
|
65
|
-
messages_controller.rb
|
66
|
-
```ruby
|
67
|
-
class MessagesController < ApplicationController
|
68
|
-
before_action :set_group
|
69
26
|
|
70
|
-
def index
|
71
|
-
|
27
|
+
views > messages > _list.html.haml
|
28
|
+
```
|
29
|
+
.main-header__left-box__member-list__lists
|
30
|
+
=link_to users_path class: "lists" do
|
31
|
+
=icon("far", "user")
|
32
|
+
.main-header__left-box__member-list__lists__member
|
72
|
-
|
33
|
+
- @group.users.each do |user|
|
34
|
+
=user.name
|
73
|
-
|
35
|
+
```
|
36
|
+
views > users > index.html.haml
|
37
|
+
```
|
38
|
+
.users-lists
|
39
|
+
.users-lists__list
|
40
|
+
%link(rel="stylesheet" href="users/_lists.scss")
|
41
|
+
= "グループメンバー 一覧"
|
42
|
+
.users-lists.clearfix.chat-member
|
43
|
+
%p.users-lists-user__name= current_user.name
|
44
|
+
```
|
74
45
|
|
75
|
-
def create
|
76
|
-
@message = @group.messages.new(message_params)
|
77
|
-
if @message.save
|
78
|
-
|
46
|
+
users_controller.rb
|
79
|
-
format.json
|
80
|
-
end
|
81
|
-
else
|
82
|
-
@messages = @group.messages.includes(:user)
|
83
|
-
flash.now[:alert] = 'メッセージを入力してください。'
|
84
|
-
render :index
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
private
|
89
|
-
|
90
|
-
def message_params
|
91
|
-
params.require(:message).permit(:content, :image).merge(user_id: current_user.id)
|
92
|
-
end
|
93
|
-
|
94
|
-
def set_group
|
95
|
-
@group = Group.find(params[:group_id])
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
47
|
```
|
100
|
-
users_controller.rb
|
101
|
-
```ruby
|
102
48
|
class UsersController < ApplicationController
|
103
49
|
def index
|
50
|
+
@users = User.all
|
51
|
+
|
104
52
|
return nil if params[:keyword] == ""
|
105
53
|
@users = User.where(['name LIKE ?', "%#{params[:keyword]}%"] ).where.not(id: current_user.id).limit(10)
|
106
54
|
respond_to do |format|
|
107
55
|
format.html
|
108
56
|
format.json
|
109
57
|
end
|
110
|
-
@users = User.all
|
111
58
|
end
|
112
59
|
|
60
|
+
def show
|
61
|
+
end
|
62
|
+
|
63
|
+
def new
|
64
|
+
@user = User.new
|
65
|
+
end
|
66
|
+
|
113
67
|
def edit
|
114
68
|
end
|
115
69
|
|
70
|
+
def create
|
71
|
+
@user = User.new(user_params)
|
72
|
+
@user.save
|
73
|
+
redirect_to @user
|
74
|
+
end
|
75
|
+
|
116
76
|
def update
|
117
77
|
if current_user.update(user_params)
|
118
78
|
redirect_to root_path
|
@@ -121,37 +81,30 @@
|
|
121
81
|
end
|
122
82
|
end
|
123
83
|
|
84
|
+
def destroy
|
85
|
+
end
|
86
|
+
|
124
87
|
private
|
125
88
|
|
126
89
|
def user_params
|
127
90
|
params.require(:user).permit(:name, :email)
|
128
91
|
end
|
129
92
|
end
|
130
|
-
|
131
93
|
```
|
132
|
-
confing/routes.rb
|
133
|
-
```ruby
|
134
|
-
root 'groups#index'
|
135
|
-
resources :users, only: [:index, :edit, :update]
|
136
|
-
resources :groups, only: [:new, :create, :edit, :update] do
|
137
|
-
resources :messages, only: [:index, :create]
|
138
94
|
|
139
|
-
namespace :api do
|
140
|
-
resources :messages, only: :index, defaults: { format: 'json' }
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
95
|
|
145
96
|
|
146
|
-
```
|
147
97
|
|
148
|
-
###
|
98
|
+
### 画像
|
99
|
+
(1)
|
149
|
-
|
100
|
+
(2)
|
101
|
+
(3)
|
150
102
|
|
151
103
|
|
104
|
+
|
105
|
+
|
152
106
|
### 補足情報(FW/ツールのバージョンなど)
|
153
107
|
|
154
108
|
haml (5.1.2)
|
155
|
-
haml-rails (1.0.0)
|
156
109
|
rails (5.0.7.2)
|
157
110
|
jbuilder (2.10.0)
|