投稿のリストを表示する 2 つのページで必要な、レール内の同じパーシャルがあります。1 つ目はニュース フィード ページ、2 つ目は「詳細」ページです。
最初のものでは、ユーザーは編集できないはずですが、2 番目のものでは編集できるはずです。
パーシャルは次のようなものです。
<%= best_in_place_if policy(post).update?,
blahblah...
%>
<% end %>
ポリシーは次のように実装されます。
class PostPolicy < ApplicationPolicy
include ActionView::Helpers::UrlHelper
...
def update?
((@record.open? && not_blocked?) ||
owner? ||
collaborator?) &&
!news_feed?
end
private
def news_feed?
current_page?(action: 'authenticated')
end
...
end
しかし、メソッドにアクセスできないようですcurrent_page?
。アクセスしている実際のページをポリシーから知る方法はありますか?
ありがとうございました