Ruby on rails 用户会话逻辑
Ruby on rails 用户会话逻辑,ruby-on-rails,ruby,Ruby On Rails,Ruby,user\u signed\u in?方法来自designe Gem。如果用户已登录,并且有评论,我希望显示Delete comment链接。如果没有评论,我希望链接不在那里 代码如下: <% if user_signed_in? %> <p><%= link_to 'Delete Comment', [comment.pic, comment], method: :delete, class: "btn btn-danger", data: { confirm
user\u signed\u in?
方法来自designe Gem。如果用户已登录,并且有评论,我希望显示Delete comment
链接。如果没有评论,我希望链接不在那里
代码如下:
<% if user_signed_in? %>
<p><%= link_to 'Delete Comment', [comment.pic, comment], method: :delete, class: "btn btn-danger", data: { confirm: "Are you sure?" } %></p>
<% end %>
我在显示页面的逻辑方面遇到了一些问题。如果用户已登录,则即使没有注释,也会出现删除注释
链接。如果我发表评论,每个评论下面都会出现Delete comment
链接,另外还有一个Delete comment
链接,没有链接到任何特定的评论
请提供帮助。显示删除链接,因为您没有测试评论是否存在。您可以为空注释添加测试,或者如果存在注释:
<% if user_signed_in? && comment[:body].present?>
<p><%= link_to 'Delete Comment', [comment.pic, comment],
method: :delete, class: "btn btn-danger",
data: { confirm: "Are you sure?" } %></p>
<% end %>
那么,如果您的问题中有注释条件,在哪里?这就是我的问题所在。我不知道我会如何添加这种逻辑。好吧,你会在每条评论下面看到这个链接,因为如果你没有看到,你会单击delete_comment,而不会告诉应用程序你真正想针对哪个评论。当然,除非你是说删除你的评论。您必须在comments控制器中编写该方法。@Aaron我可以在每个注释下面使用delete comment链接。这就是我想要的。问题是,即使没有注释,删除注释链接仍会出现。我尝试使用该链接,得到了一个未定义的方法“empty”
如果用户登录,它应该是&&comment.present?
仍然得到相同的结果。comment是什么?对象还是字符串?你能把代码发布到定义它的地方吗?@Jenstretman它是在我的评论中定义的对象。\u controller@comment=@pic.comments.create(params[:comment].permit(:name,:body))