Логика для пользовательской сессии - PullRequest
0 голосов
/ 28 ноября 2018

user_signed_in? метод происходит от разработки Gem.Если пользователь вошел в систему и добавил комментарий, я хочу, чтобы появилась ссылка Delete Comment.Если нет комментариев, я хочу, чтобы ссылка не была там. Пример страницы показа .

Вот код:

<% if user_signed_in? %>
  <p><%= link_to 'Delete Comment', [comment.pic, comment], method: :delete, class: "btn btn-danger", data: { confirm: "Are you sure?" } %></p>
<% end %>

У меня возникли некоторые проблемы с логикой страницы показа.Если пользователь вошел в систему, ссылка Delete comment появляется, даже если нет комментариев.И если я оставлю комментарий, под каждым комментарием появится ссылка Delete Comment с дополнительной ссылкой Delete Comment, которая не связана с каким-либо конкретным комментарием.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 28 ноября 2018

Ссылка на удаление появляется, потому что вы не проверяете наличие комментария.Вы можете сделать что-то вроде добавления теста для пустого комментария или если комментарий существует:

<% if user_signed_in? && comment[:body].present?>
    <p><%= link_to 'Delete Comment', [comment.pic, comment], 
                   method: :delete, class: "btn btn-danger", 
        data: { confirm: "Are you sure?" } %></p>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...