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

質問編集履歴

1

viewファイルのソースコードを追記致しました。

2020/09/01 08:43

投稿

Tarzan3154
Tarzan3154

スコア7

title CHANGED
File without changes
body CHANGED
@@ -70,6 +70,98 @@
70
70
  end
71
71
  ```
72
72
 
73
+ ```
74
+ _favorite_button.html.erb
75
+
76
+ <% if current_user.favorites?(micropost) %>
77
+ <%= form_with(model: current_user.favorites.find_by(micropost_id: micropost.id), local: true, method: :delete) do |f| %>
78
+ <%= hidden_field_tag :micropost_id %>
79
+ <%= f.submit 'Unfavorite', class: 'btn btn-danger btn-sm' %>
80
+ <% end %>
81
+ <% else %>
82
+ <%= form_with(model: current_user.favorites.build, local: true) do |f| %>
83
+ <%= hidden_field_tag :micropost_id %>
84
+ <%= f.submit 'Favorite', class: 'btn btn-primary btn-sm' %>
85
+ <% end %>
86
+ <% end %>
87
+ ```
88
+
89
+ ```
90
+ _micropost.html.erb
91
+
92
+ <ul class="list-unstyled">
93
+ <% microposts.each do |micropost| %>
94
+ <li class="media mb-3">
95
+ <img class="mr-2 rounded" src="<%= gravatar_url(micropost.user, { size: 50 }) %>" alt="">
96
+ <div class="media-body">
97
+ <div>
98
+ <%= link_to micropost.user.name, user_path(micropost.user) %> <span class="text-muted">posted at <%= micropost.created_at %></span>
99
+ </div>
100
+ <div>
101
+ <p><%= micropost.content %></p>
102
+ </div>
103
+ <div class="row">
104
+ <% if current_user == micropost.user %>
105
+ <%= link_to "Delete", micropost, method: :delete, data: { confirm: "You sure?" }, class: "btn btn-danger btn-sm" %>
106
+ <% end %>
107
+ <%= render "favorites/favorite_button", micropost: micropost %>
108
+ </div>
109
+ </div>
110
+ </li>
111
+ <% end %>
112
+ <%= paginate microposts %>
113
+ </ul>
114
+ ```
115
+
116
+ ```
117
+ _users.html.erb
118
+
119
+ <% if users.any? %>
120
+ <ul class="list-unstyled">
121
+ <% users.each do |user| %>
122
+ <li class="media">
123
+ <img class="mr-2 rounded" src="<%= gravatar_url(user, { size: 50 }) %>" alt="">
124
+ <div class="media-body">
125
+ <div>
126
+ <%= user.name %>
127
+ </div>
128
+ <div>
129
+ <p><%= link_to 'View profile', user_path(user) %></p>
130
+ </div>
131
+ </div>
132
+ </li>
133
+ <% end %>
134
+ </ul>
135
+ <%= paginate users %>
136
+ <% end %>
137
+ ```
138
+
139
+ ```
140
+ show.html.erb
141
+
142
+ <div class="row">
143
+ <aside class="col-sm-4">
144
+ <div class="card">
145
+ <div class="card-header">
146
+ <h3 class="card-title"><%= @user.name %></h3>
147
+ </div>
148
+ <div class="card-body">
149
+ <img class="rounded img-fluid" src="<%= gravatar_url(@user, { size: 500 }) %>" alt="">
150
+ </div>
151
+ </div>
152
+ <%= render 'relationships/follow_button', user: @user %>
153
+ </aside>
154
+ <div class="col-sm-8">
155
+ <ul class="nav nav-tabs nav-justified mb-3">
156
+ <li class="nav-item"><a href="<%= likes_user_path(@user) %>" class="nav-link <%= 'active' if current_page?(likes_user_path(@user)) %>">Favorites <span class="badge badge-secondary"><%= @count_favorites %></span></a></li>
157
+ <li class="nav-item"><a href="<%= user_path(@user) %>" class="nav-link <%= 'active' if current_page?(user_path(@user)) %>">Microposts <span class="badge badge-secondary"><%= @count_microposts %></span></a></li>
158
+ <li class="nav-item"><a href="<%= followings_user_path(@user) %>" class="nav-link <%= 'active' if current_page?(followings_user_path(@user)) %>">Followings <span class="badge badge-secondary"><%= @count_followings %></span></a></li>
159
+ <li class="nav-item"><a href="<%= followers_user_path(@user) %>" class="nav-link <%= 'active' if current_page?(followers_user_path(@user)) %>">Followers <span class="badge badge-secondary"><%= @count_followers %></span></a></li>
160
+ </ul>
161
+ <%= render 'microposts/microposts', microposts: @microposts %>
162
+ </div>
163
+ </div>
164
+ ```
73
165
  ### 試したこと
74
166
  最初はパラメータが間違っているかと思い、「favorites_controller.rb」の(params[:micropost_id])を「:favorite id」等に修正を試みましたが、直りませんでした。
75
167
  次にお気に入り(もしくは削除)対象のidが見つからないため発生しているエラーかと思いましたが、routes.rbおよびfavorites_controller.rbの記述は間違いないでしょうか?