Итак, я, новичок в рельсах, в настоящее время пытаюсь получить идентификатор пользователя из текущей сессии Devise, и у меня проблемы.Получить UserID для текущего пользователя с помощью Devise/Rails
У меня есть это в мой контроллер в настоящее время:
def index
@currentUser = current_user.id
end
И я хочу сделать простой, если заявление, чтобы показать/скрыть поля в моей форме.
<% if @currentUser === @product.user_id %>
<%= link_to "Back", products_path %>
<%= link_to "Edit", edit_product_path(@product) %>
<%= link_to "Delete", product_path(@product), method: :delete, data: { confirm: "Are you sure?"} %>
<% else %>
<span></span>
<% end %>
У меня есть чувство, мой синтаксис в определении моей переменной CurrentUser плохо, но я понятия не имею, как это исправить. На Stack было несколько подобных вопросов, но никто из них не обращался ко мне и не помогал мне.
Заранее благодарен!
Спасибо за быстрый ответ. Я пробовал это, но это не сработало, поэтому я хотел посмотреть, что именно сравнивается, и распечатал '<% = current_user%>' и получил '#'. Связано ли это с тем, что вы сказали о сравнении моделей вместо целых id? –
aishaq11
@ aishaq11 это нормальная ситуация - это представление класса 'Object' с его уникальным идентификатором. Попробуйте что-то вроде '<% = current_user.id%>' и '<% = product.user_id%>' при том же рендеринге. Значения id одинаковы? – asiniy