我有一个帖子表,用户可以在其中登录应用程序并发布项目。理想情况下,我希望用户只编辑他们的帖子,而不是别人的帖子。到目前为止,我有它,以便用户能够编辑帖子,但也可以编辑其他人。
我认为这需要从index.html.erb文件中修复:
<td><%= review.review %> (<% if current_user%><%= link_to 'Edit', edit_review_path(review)%><%end%>)</td>
答案 0 :(得分:1)
您可以使用以下内容:
<% if user_signed_in? && current_user.id == @review.user_id %>
这就是说,检查用户是否已经登录,并检查current_user
是否是review
的所有者,检查current_user
ID和id
来自此类评论的所有者。
所以你可以尝试:
<td>
<%= review.review %>
<% if user_signed_in && current_user.id == review.user_id %>
<%= link_to 'Edit', edit_review_path(review) %>
<% end %>
</td>
您还可以创建一种方法,将其用作before_action
来检查current_user
与review
所有者之间的匹配,但我认为该视图&#34;验证&#34;可能就够了。