Я использую Pundit для разрешения разрешений. Я хочу профили моего пользователя, чтобы быть видимыми всем этом в моем user_policy.rb, у меня есть:Pundit: user_signed_in helper
def show?
true # Anyone can view a show
end
В моих пользователях/show.html.erb, кнопка «изменить профиль» отображаются только в том случае, если:
<% if policy(@user).update? %>
<!-- show edit button -->
<% end %>
вопрос заключается в том, что, когда я пытаюсь получить доступ профиля и я не вошли в систему, Пандит ищет «пользователь»:
def update?
record == user || user.admin == true # Only user creator can update it
end
у меня есть ошибка о том, что пользователь ноль поэтому администратор ndefined. Я хотел сделать это:
def update?
if user_signed_in?
record == user || user.admin == true # Only user creator can update it
else
false
end
end
но user_signed_in? это помощник-помощник, недоступный в Пандите. Есть ли эквивалент, который я мог бы использовать, или лучший способ сделать это?
Пользователь также может обрабатывать случай зарегистрированного, но неподтвержденного пользователя - функциональность разработки. Довольно удобно – Jerome