Я использую рельсы для разработки клонирования Twitter. У меня есть функция, которая правильно добавляет запись «Follow» в базу данных, но я получаю сообщение об ошибке, когда пытаюсь «Отменить подписку» на этого пользователя.Ruby on Rails - нет путей для удаления проблемы
метод Helper
def find_user(user)
user = User.where(email: user.email).first
#id = user.id
return user.id
end
def destroy
#@follow = Follow.where('user_id = ? AND follows = ?',current_user.id,params[:user_id]).first
@follow = params[:user]
p "follow to delete "[email protected]
#@follow.destroy
redirect_to root_path
end
Посмотреть
<% @users.try(:each) do |user| %>
<tr>
<td><%= user.first_name + " " + user.last_name %></td>
<td><%= user.email %></td>
<td>
<% if follow = user.follows.find_by(follows: user.id) %>
<%= link_to 'Unfollow', follow_path(:user => find_user(user)), method: :delete %>
<% else %>
<%= link_to 'Follow', follows_path({user_id: user.id}), method: 'post',class: "btn btn-primary" %>
<% end %>
</td>
</tr>
<% end %>
Ошибка
Нет маршрута матчей {: действие => "показать",: контроллер => "следует",: пользователь => 1} отсутствуют необходимые ключи: [: id]
Я использую ресурсы: следует по маршрутам
Я уверен, что я ничего не ловил, но кажется, что все правильно.
Что находится в вашем файле маршрутов? Какой маршрут вы запрашиваете сейчас? Если вид, который вы вставили, - show.html.erb, то вы, вероятно, делаете что-то не так с параметрами или чем-то в действии show. – Laser