現在、ログインしていなくても投稿できるアプリを作成しています。
そこで、ログインしていないユーザーでも編集や削除をできるようにしたいのですが、実装案が思いつかず、そもそも実装することができるのかがわかりません。
<% if @post.user_id == @current_user.id %> <div class=""><%= link_to "編集", {controller: :posts, action: :edit} %></div> <div class=""><%= link_to "削除", post_path(@post.id), method: :delete %></div> <% end %>
ログインしているユーザーに関しては、このようにPostのuser_idと@current_user.idで投稿者だけに表示させるようにしているのですが、
ログインしていないユーザーに関しては、postにuser_idカラムを持たせてなくて、@current_userでもないため、どのようにして差別化を行えばいいか不明です。
考えとしては、Cookieを使用すれば何時間以内までなら編集、削除が可能といったような機能を作成できるかなと考えたのですが、可能ですか?
def post_params params.require(:post).permit(:name,:content,:gender,:age,:area,:image,tag_ids: []).merge(user_id: @current_user.id) end def free_post_params params.require(:post).permit(:name,:content,:gender,:age,:area,:image,tag_ids: []) end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。