我正在按照本教程实现用户可以提交琐事/有趣事实的功能。
我想将(编辑/删除)功能限制为每个项目的管理员或作者。</p>
我在 .application_controller 中创建了一个辅助类
def author_of?(resource)
user_signed_in? && current_user.id == resource.user_id
end
但是当我在带有 Hotwire 的 Turbo-frame 中使用它时,我收到了这个错误
| ActionView::Template::Error(设计在您的请求环境中找不到Warden::Proxy
实例。
这是我的代码供参考
索引.html
<%= turbo_stream_from @stadium, :trivia %>
<%= tag.div id: "#{dom_id(@stadium)}_trivia" do %>
<%= render partial: "trivia/trivium", collection: @stadium.trivia %>
<% end %>
<% end %>
_trivium.html.erb
<%= turbo_frame_tag trivium do %>
<%= trivium.body %>
<% if author_of?(trivium) || admin? %>
<%= button_to "Delete", trivium_path(trivium), class: "btn btn-small btn-danger btn-link mr-2", method: :delete, data: { confirm: "Are you sure?" } %>
<% end %>
<% end %>
如何访问部分评论中的 current_user 帮助程序以检查 current_user 是作者还是管理员(并且应该允许删除/编辑)?