我有以下观点
<div class='post-helpers'>
<% if current_user.id == @post.user_id %>
<%= button_to 'Edit', edit_post_path(@post), class: 'btn', tabindex: 1 %>
<%= button_to 'Delete', @post, class: 'btn', tabindex: 2, method: :delete %>
<% end %>
</div>
current_user.id == @something.user_id
正在很多地方使用,因此我试图在application_helper
中将其移出。
怎么办呢?
PS:此帮助程序需要可重用,不应仅依赖于@post
。
答案 0 :(得分:0)
current_user
您可以使其更加通用,并允许def owner?(object, user = nil)
user ||= current_user
user && user.id == object.user_id
end
的检查规则,但对于任何用户:
<div class='post-helpers'>
<% if owner?(@post) %>
<%= button_to 'Edit', edit_post_path(@post), class: 'btn', tabindex: 1 %>
<%= button_to 'Delete', @post, class: 'btn', tabindex: 2, method: :delete %>
<% end %>
</div>
用法
{{1}}